Recherche avancée

Médias (91)

Autres articles (15)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Les formats acceptés

    28 janvier 2010, par

    Les commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
    ffmpeg -codecs ffmpeg -formats
    Les format videos acceptés en entrée
    Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
    Les formats vidéos de sortie possibles
    Dans un premier temps on (...)

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

Sur d’autres sites (4230)

  • Passing python's file like object to ffmpeg via subprocess

    3 juillet 2012, par tejinderss

    I have a django FileField, which i use to store wav files on the Amazon s3 server. I have set up the celery task to read that file and convert it to mp3 and store it to another FileField. Problem i am facing is that i am unable to pass the input file to ffmpeg as the file is not the physical file on the hard disk drive. To circumvent that, i used stdin to feed the input stream of the file with the django's filefield. Here is the example :

    output_file = NamedTemporaryFile(suffix='.mp3')
    subprocess.call(['ffmpeg', '-y', '-i', '-', output_file.name], stdin=recording_wav)

    where recording_wav file is : , which is actually stored on the amazon s3 server.
    The error for the above subprocess call is :

    AttributeError: 'cStringIO.StringO' object has no attribute 'fileno'

    How can i do this ? Thanks in advance for the help.

    Edit :

    Full traceback :

    [2012-07-03 04:09:50,336: ERROR/MainProcess] Task api.tasks.convert_audio[b7ab4192-2bff-4ea4-9421-b664c8d6ae2e] raised exception: AttributeError("'cStringIO.StringO' object has no attribute 'fileno'",)
    Traceback (most recent call last):
     File "/home/tejinder/envs/tmai/local/lib/python2.7/site-packages/celery/execute/trace.py", line 181, in trace_task
       R = retval = fun(*args, **kwargs)
     File "/home/tejinder/projects/tmai/../tmai/apps/api/tasks.py", line 56, in convert_audio
       subprocess.Popen(['ffmpeg', '-y', '-i', '-', output_file.name], stdin=recording_wav)
     File "/usr/lib/python2.7/subprocess.py", line 672, in __init__
       errread, errwrite) = self._get_handles(stdin, stdout, stderr)
     File "/usr/lib/python2.7/subprocess.py", line 1043, in _get_handles
       p2cread = stdin.fileno()
     File "/home/tejinder/envs/tmai/local/lib/python2.7/site-packages/django/core/files/utils.py", line 12, in <lambda>
       fileno = property(lambda self: self.file.fileno)
     File "/home/tejinder/envs/tmai/local/lib/python2.7/site-packages/django/core/files/utils.py", line 12, in <lambda>
       fileno = property(lambda self: self.file.fileno)
    AttributeError: &#39;cStringIO.StringO&#39; object has no attribute &#39;fileno&#39;
    </lambda></lambda>
  • ffmpeg splitting RGB and Alpha channels using filter

    29 juin 2012, par Dow

    I'm trying to use ffmpeg to split an input file into two separate files :

    1. An MP4 with only R,G and B channels
    2. An MP4 with the "extracted" A channel (a so-called Key clip, see http://ffmpeg-users.933282.n4.nabble.com/quot-Extracting-quot-Alpha-Channel-td3700227.html)

    I've managed to do both, but now I want to combine them into one single command. Here's what I do :

    ffmpeg -r $FPS -y -i input.flv -vcodec libx264 -vpre ipod640 -acodec libfaac -s 256x256 -r $FPS -filter_complex INSERT_FILTER_HERE rgb.mp4 alpha.mp4

    where INSERT_FILTER_HERE is :

    format=rgba, split [rgb_in][alpha_in];
    [rgb_in] fifo, lutrgb=a=minval [rgb_out];
    [alpha_in] format=rgba, split [T1], fifo, lutrgb=r=maxval:g=maxval:b=maxval, [T2] overlay [out];
    [T1] fifo, lutrgb=r=minval:g=minval:b=minval [T2]

    In short, I split the file into two streams, for the first stream, I "remove" the alpha channel, for the second stream, I extract a grayscale representation of the alpha channel. When I put this through graph2dot, it works fine, with a nullsink as output.

    However, when I run it in ffmpeg with -filter_complex, I get :

    ffmpeg version N-41994-g782763e Copyright (c) 2000-2012 the FFmpeg developers
     built on Jun 28 2012 17:45:15 with gcc 4.6.3
     configuration: --enable-gpl --enable-nonfree --enable-pthreads --enable-filters --enable-libfaac --enable-libmp3lame --enable-libx264 --enable-libtheora --enable-libvpx --enable-postproc --enable-avfilter
     libavutil      51. 63.100 / 51. 63.100
     libavcodec     54. 29.101 / 54. 29.101
     libavformat    54. 11.100 / 54. 11.100
     libavdevice    54.  0.100 / 54.  0.100
     libavfilter     3.  0.100 /  3.  0.100
     libswscale      2.  1.100 /  2.  1.100
     libswresample   0. 15.100 /  0. 15.100
     libpostproc    52.  0.100 / 52.  0.100
    Input #0, flv, from &#39;input.flv&#39;:
     Metadata:
       audiodelay      : 0
       canSeekToEnd    : true
     Duration: 00:01:10.56, start: 0.000000, bitrate: 1964 kb/s
       Stream #0:0: Video: vp6a, yuva420p, 800x950, 1536 kb/s, 25 tbr, 1k tbn, 1k tbc
       Stream #0:1: Audio: mp3, 44100 Hz, stereo, s16, 128 kb/s
    [graph 0 input from stream 0:0 @ 0x2e4c6e0] w:800 h:950 pixfmt:yuva420p tb:1/30 fr:30/1 sar:0/1 sws_param:flags=2
    Output pad "default" for the filter "Parsed_lutrgb_3" of type "lutrgb" not connected to any destination

    Any ideas on how I make ffmpeg recognize that it has to write [rgb_out] to rgb.mp4 and [out] to alpha.mp3 ?

    Thanks in advance !

  • Open .avi with OpenCV 2.4 & Ubuntu 11.04

    25 juin 2012, par CTZStef

    I try to open and read video files in .avi format using OpenCV. Here is my code :

    void MainWindow::on_actionOuvrir_fichier_triggered()
    140    +   {
    141    +    //mettre a -1 streamId
    142    +    streamId = -1;
    143    +    //ouvrir fenetre navigation fichiers pour recuperer path vers .avi
    144    +    QString fileName = QFileDialog::getOpenFileName(this,tr("Ouvrir fichier video"),"/home",
    145    +    tr("Videos (*.avi)"));
    146    +    std::string utf8_text = fileName.toUtf8().constData();
    147    +    //ouvrir .avi
    148    +    capture = new VideoCapture(utf8_text);
    149    +    //check ouverture
    150    +    if(!capture->isOpened())
    151    +    cout &lt;&lt; "probleme ouverture fichier video" &lt;&lt; endl;
    152    +    //calculer delay between each frame in ms
    153    +    rate = capture->get(CV_CAP_PROP_FPS);
    154    +    delay = 1000 / rate;
    155    +    //demarrer timer recordId
    156    +    recordId = startTimer(delay);
    157    +    //capture premiere frame
    158    +    if(!capture->read(in))
    159    +    cout &lt;&lt; "probleme lecture frame fichier video" &lt;&lt; endl;
    160    +   }

    I get no problem at compilation time, but I can't open a video file. While in debug mode I saw that string utf8_text had the good absolute path to my video, so obviously the problem comes from the constructor of the VideoCapture object. Then, I tried to install every codec pack I could or thought was relevant. But the problem is still there, capture->isOpened() still returns false, and in debug mode I can see that capture contains nothing.

    I am lost here, don't know what to try next. Any idea ??

    Thanks !!!

    [EDIT]
    Just in case, here is the output of ffmpeg -i myFile.avi

    faraday@faraday-Compaq-Evo-D510-e-pc:~/QtProjects/visionDev$ ffmpeg -i 1.avi
    FFmpeg version 0.6.6-4:0.6.6-0ubuntu0.11.04.1, Copyright (c) 2000-2010 the Libav developers
     built on Jun 12 2012 16:28:21 with gcc 4.5.2
     configuration: --extra-version=4:0.6.6-0ubuntu0.11.04.1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-vaapi --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --enable-shared --disable-static
     WARNING: library configuration mismatch
     libavutil   configuration: --extra-version=4:0.6.6-0ubuntu0.11.04.1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-vaapi --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libavcodec  configuration: --extra-version=4:0.6.6-0ubuntu0.11.04.1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-vaapi --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libavformat configuration: --extra-version=4:0.6.6-0ubuntu0.11.04.1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-vaapi --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libavdevice configuration: --extra-version=4:0.6.6-0ubuntu0.11.04.1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-vaapi --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libavfilter configuration: --extra-version=4:0.6.6-0ubuntu0.11.04.1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-vaapi --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libswscale  configuration: --extra-version=4:0.6.6-0ubuntu0.11.04.1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-vaapi --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libpostproc configuration: --extra-version=4:0.6.6-0ubuntu0.11.04.1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --enable-libvpx --disable-stripping --enable-runtime-cpudetect --enable-vaapi --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --shlibdir=/usr/lib/i686/cmov --cpu=i686 --enable-shared --disable-static --disable-ffmpeg --disable-ffplay
     libavutil     50.15. 1 / 50.15. 1
     libavcodec    52.72. 2 / 52.72. 2
     libavformat   52.64. 2 / 52.64. 2
     libavdevice   52. 2. 0 / 52. 2. 0
     libavfilter    1.19. 0 /  1.19. 0
     libswscale     0.11. 0 /  0.11. 0
     libpostproc   51. 2. 0 / 51. 2. 0
    Input #0, avi, from &#39;1.avi&#39;:
     Duration: 00:02:35.39, start: 0.000000, bitrate: 110595 kb/s
       Stream #0.0: Video: rawvideo, bgr24, 640x480, 15 tbr, 15 tbn, 15 tbc
    At least one output file must be specified

    I do not see anything wrong here, but I thought maybe someone will.

    I really need this to work soon, and right now it's a dead end...

    thanks

    [EDIT 2]

    I have just read this in the book OpenCV 2 Computer Vision Application Programming Cookbook by R. Laganiere :

    It is important to note that in order to open the specified video
    file, your computer must have the corresponding codec installed,
    otherwise cv::VideoCapture will not be able to understand the input
    file. Normally, if you are able to open your video file with a video
    player on your machine (such as the Windows Media Player), then OpenCV
    should also be able to read this file.

    Well, on my machine it is not that easy mister Laganiere... I hate this book.