
Recherche avancée
Médias (1)
-
Video d’abeille en portrait
14 mai 2011, par
Mis à jour : Février 2012
Langue : français
Type : Video
Autres articles (69)
-
List of compatible distributions
26 avril 2011, parThe table below is the list of Linux distributions compatible with the automated installation script of MediaSPIP. Distribution nameVersion nameVersion number Debian Squeeze 6.x.x Debian Weezy 7.x.x Debian Jessie 8.x.x Ubuntu The Precise Pangolin 12.04 LTS Ubuntu The Trusty Tahr 14.04
If you want to help us improve this list, you can provide us access to a machine whose distribution is not mentioned above or send the necessary fixes to add (...) -
(Dés)Activation de fonctionnalités (plugins)
18 février 2011, parPour gérer l’ajout et la suppression de fonctionnalités supplémentaires (ou plugins), MediaSPIP utilise à partir de la version 0.2 SVP.
SVP permet l’activation facile de plugins depuis l’espace de configuration de MediaSPIP.
Pour y accéder, il suffit de se rendre dans l’espace de configuration puis de se rendre sur la page "Gestion des plugins".
MediaSPIP est fourni par défaut avec l’ensemble des plugins dits "compatibles", ils ont été testés et intégrés afin de fonctionner parfaitement avec chaque (...) -
Activation de l’inscription des visiteurs
12 avril 2011, parIl est également possible d’activer l’inscription des visiteurs ce qui permettra à tout un chacun d’ouvrir soit même un compte sur le canal en question dans le cadre de projets ouverts par exemple.
Pour ce faire, il suffit d’aller dans l’espace de configuration du site en choisissant le sous menus "Gestion des utilisateurs". Le premier formulaire visible correspond à cette fonctionnalité.
Par défaut, MediaSPIP a créé lors de son initialisation un élément de menu dans le menu du haut de la page menant (...)
Sur d’autres sites (9884)
-
Python : mp3 to alsaaudio through ffmpeg pipe and wave.open(f,'r')
3 juillet 2017, par user2754098I’m trying to decode mp3 to wav using ffmpeg :
import alsaaudio
import wave
from subprocess import Popen, PIPE
with open('filename.mp3', 'rb') as infile:
p=Popen(['ffmpeg', '-i', '-', '-f', 'wav', '-'], stdin=infile, stdout=PIPE)
...Next i want redirect data from p.stdout.read() to wave.open(file, r) to use readframes(n) and other methods. But i cannot because ’file’ in wave.open(file,’r’) can be only name of file or an open file pointer.
...
file = wave.open(p.stdout.read(),'r')
card='default'
device=alsaaudio.PCM(card=card)
device.setchannels(file.getnchannels())
device.setrate(file.getframerate())
device.setformat(alsaaudio.PCM_FORMAT_S16_LE)
device.setsetperiodsize(320)
data = file.readframes(320)
while data:
device.write(data)
data = file.readframes(320)I got :
TypeError: file() argument 1 must be encoded string without NULL bytes, not str
So is it possible to handle data from p.stdout.read() by wave.open() ?
Making temporary .wav file isn’t solution.Sorry for my english.
Thanks.UPDATE
Thanks to PM 2Ring for hit about io.BytesIO.
However resulting code does not work.
import alsaaudio
import wave
from subprocess import Popen, PIPE
with open('sometrack.mp3', 'rb') as infile:
p=Popen(['ffmpeg', '-i', '-', '-f','wav', '-'], stdin=infile , stdout=PIPE , stderr=PIPE)
fobj = io.BytesIO(p.stdout.read())
fwave = wave.open(fobj, 'rb')Trace :
File "./script.py", line x, in <module>
fwave = wave.open(fobj, 'rb')
File "/usr/lib/python2.7/wave.py", line x, in open
return Wave_read(f)
File "/usr/lib/python2.7/wave.py", line x, in __init__
self.initfp(f)
File "/usr/lib/python2.7/wave.py", line x, in initfp
raise Error, 'not a WAVE file'
wave.Error: not a WAVE file
</module>From /usr/lib/python2.7/wave.py :
...
self._file = Chunk(file, bigendian = 0)
if self._file.getname() != 'RIFF':
raise Error, 'file does not start with RIFF id'
if self._file.read(4) != 'WAVE':
raise Error, 'not a WAVE file'
...Checking has been failed due to ’bad’ self._file object.
Inside /usr/lib/python2.7/chunk.py i have found a source of problem :
...
try:
self.chunksize = struct.unpack(strflag+'L', file.read(4))[0]
except struct.error:
raise EOFError
...Because struct.unpack(strflag+’L’, file.read(4))[0] returns 0.
But this function works correct.As specified here :
"5-8 bytes - File size(integer)
Size of the overall file - 8 bytes, in bytes (32-bit integer). Typically, you’d fill this in after creation."
That’s why my script doesn’t work. wave.open and other functions cannot handle my file object because self.chunksize = 0. Looks like ffmpeg cannot insert File size when using PIPE.SOLUTION
It’s simple.
I’ve changed init function of Chunk class :After :
...
try:
self.chunksize = struct.unpack(strflag+'L', file.read(4))[0]
except struct.error:
raise EOFError
...Before :
...
try:
self.chunksize = struct.unpack(strflag+'L', file.read(4))[0]
currtell = file.tell()
if self.chunksize == 0:
file.seek(0)
file.read(currtell)
self.chunksize = len(file.read())-4
file.seek(0)
file.read(currtell)
except struct.error:
raise EOFError
...Of course editing of original module is bad idia. So I’ve create custom forks for 2 classes Chunk and Wave_read.
Working but unstable full code you can find here.
Sorry for my awful english.
Thanks.
-
Python : mp3 to alsaaudio through ffmpeg pipe and wave.open(f,'r')
16 avril 2015, par user2754098I’m trying to decode mp3 to wav using ffmpeg :
import alsaaudio
import wave
from subprocess import Popen, PIPE
with open('filename.mp3', 'rb') as infile:
p=Popen(['ffmpeg', '-i', '-', '-f', 'wav', '-'], stdin=infile, stdout=PIPE)
...Next i want redirect data from p.stdout.read() to wave.open(file, r) to use readframes(n) and other methods. But i cannot because ’file’ in wave.open(file,’r’) can be only name of file or an open file pointer.
...
file = wave.open(p.stdout.read(),'r')
card='default'
device=alsaaudio.PCM(card=card)
device.setchannels(file.getnchannels())
device.setrate(file.getframerate())
device.setformat(alsaaudio.PCM_FORMAT_S16_LE)
device.setsetperiodsize(320)
data = file.readframes(320)
while data:
device.write(data)
data = file.readframes(320)I got :
TypeError: file() argument 1 must be encoded string without NULL bytes, not str
So is it possible to handle data from p.stdout.read() by wave.open() ?
Making temporary .wav file isn’t solution.Sorry for my english.
Thanks.UPDATE
Thanks to PM 2Ring for hit about io.BytesIO.
However resulting code does not work.
import alsaaudio
import wave
from subprocess import Popen, PIPE
with open('sometrack.mp3', 'rb') as infile:
p=Popen(['ffmpeg', '-i', '-', '-f','wav', '-'], stdin=infile , stdout=PIPE , stderr=PIPE)
fobj = io.BytesIO(p.stdout.read())
fwave = wave.open(fobj, 'rb')Trace :
File "./script.py", line x, in <module>
fwave = wave.open(fobj, 'rb')
File "/usr/lib/python2.7/wave.py", line x, in open
return Wave_read(f)
File "/usr/lib/python2.7/wave.py", line x, in __init__
self.initfp(f)
File "/usr/lib/python2.7/wave.py", line x, in initfp
raise Error, 'not a WAVE file'
wave.Error: not a WAVE file
</module>From /usr/lib/python2.7/wave.py :
...
self._file = Chunk(file, bigendian = 0)
if self._file.getname() != 'RIFF':
raise Error, 'file does not start with RIFF id'
if self._file.read(4) != 'WAVE':
raise Error, 'not a WAVE file'
...Checking has been failed due to ’bad’ self._file object.
Inside /usr/lib/python2.7/chunk.py i have found a source of problem :
...
try:
self.chunksize = struct.unpack(strflag+'L', file.read(4))[0]
except struct.error:
raise EOFError
...Because struct.unpack(strflag+’L’, file.read(4))[0] returns 0.
But this function works correct.As specified here :
"5-8 bytes - File size(integer)
Size of the overall file - 8 bytes, in bytes (32-bit integer). Typically, you’d fill this in after creation."
That’s why my script doesn’t work. wave.open and other functions cannot handle my file object because self.chunksize = 0. Looks like ffmpeg cannot insert File size when using PIPE.SOLUTION
It’s simple.
I’ve changed init function of Chunk class :After :
...
try:
self.chunksize = struct.unpack(strflag+'L', file.read(4))[0]
except struct.error:
raise EOFError
...Before :
...
try:
self.chunksize = struct.unpack(strflag+'L', file.read(4))[0]
currtell = file.tell()
if self.chunksize == 0:
file.seek(0)
file.read(currtell)
self.chunksize = len(file.read())-4
file.seek(0)
file.read(currtell)
except struct.error:
raise EOFError
...Of course editing of original module is bad idia. So I’ve create custom forks for 2 classes Chunk and Wave_read.
Working but unstable full code you can find here.
Sorry for my awful english.
Thanks.
-
How to copy metadata during mp4 conversation with FFMPEG ?
20 février 2016, par IremadzeArchil19910311When I am trying to make a video conversation from .m4v to mp4 :
I know how to select audio streams as well as a video streams,
Also I know how to copy a few subtitles from input to output !
But I can not copy a metadata from input to output !In order to get my best result I should read myself all streams title and retype it to new files stream !
ffmpeg -i input.m4v -map 0:v:0 -map 0:a:0 -map 0:a:1 -map 0:a:2 -map 0:s:0 -map 0:s:1 -vcodec h264 -acodec:0 mp3 -acodec:1 mp3 -acodec:2 mp3 -c:s mov_text
-metadata:s:v:0 title="Main Program" -metadata:s:a:0 title="English Stereo" -metadata:s:a:1 title="Russian DVO CTC Stereo" -metadata:s:a:2 title="Ukrainian DVO 2 + 2 Stereo" output.mp4So as you can see I wrote second line in order to get a result, which is very long written by my hand !
So please tell me how to copy all streams title from input file to output file without retyping ?As I can understand we should find out how to select input file`s stream title....
Like video stream selection is -map 0:v:0 or -map 0:v:1
such that we should have a metadata title selection -map 0:m:0 or -map 0:m:1I don’t know !
Please help me !