Recherche avancée

Médias (91)

Autres articles (74)

  • La file d’attente de SPIPmotion

    28 novembre 2010, par

    Une file d’attente stockée dans la base de donnée
    Lors de son installation, SPIPmotion crée une nouvelle table dans la base de donnée intitulée spip_spipmotion_attentes.
    Cette nouvelle table est constituée des champs suivants : id_spipmotion_attente, l’identifiant numérique unique de la tâche à traiter ; id_document, l’identifiant numérique du document original à encoder ; id_objet l’identifiant unique de l’objet auquel le document encodé devra être attaché automatiquement ; objet, le type d’objet auquel (...)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • 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

Sur d’autres sites (5389)

  • Recommendations for real-time pixel-level analysis of television (TV) video

    6 décembre 2011, par Randall Cook

    [Note : This is a rewrite of an earlier question that was considered inappropriate and closed.]

    I need to do some pixel-level analysis of television (TV) video. The exact nature of this analysis is not pertinent, but it basically involves looking at every pixel of every frame of TV video, starting from an MPEG-2 transport stream. The host platform will be server-class, multiprocessor 64-bit Linux machines.

    I need a library that can handle the decoding of the transport stream and present me with the image data in real-time. OpenCV and ffmpeg are two libraries that I am considering for this work. OpenCV is appealing because I have heard it has easy to use APIs and rich image analysis support, but I have no experience using it. I have used ffmpeg in the past for extracting video frame data from files for analysis, but it lacks image analysis support (though Intel's IPP can supplement).

    In addition to general recommendations for approaches to this problem (excluding the actual image analysis), I have some more specific questions that would help me get started :

    1. Are ffmpeg or OpenCV commonly used in industry as a foundation for real-time
      video analysis, or is there something else I should be looking at ?
    2. Can OpenCV decode video frames in real time, and still leave enough
      CPU left over to do nontrivial image analysis, also in real-time ?
    3. Is sufficient to use ffpmeg for MPEG-2 transport stream decoding, or
      is it preferable to just use an MPEG-2 decoding library directly (and if so, which one) ?
    4. Are there particular pixel formats for the output frames that ffmpeg
      or OpenCV is particularly efficient at producing (like RGB, YUV, or YUV422, etc) ?
  • Video recoding with ffmpeg

    8 novembre 2011, par Aleks G

    I asked in another question (http://stackoverflow.com/questions/8012494/sorry-this-video-cannot-be-played-streaming-mp4-to-android/8012874#8012874) about video playback in android using VideoView. Apparently, the problem there is due to the way my video is encoded, as another video (512Kb mp4 off the web) plays correctly using my code. As videos are uploaded by my end users to the web site, I don't have any control of the videos themselves, however I do have control over re-coding these. I re-code them using ffmpeg to bring them to a standard MP4 (H.264+AAC) format and scale them to the same size (320x240).

    Here's the ffmpeg info of a video that would not play :

    sh-3.2$ ffmpeg -i video.bad.mp4
    FFmpeg version SVN-r25679-snapshot, Copyright (c) 2000-2010 the FFmpeg developers
     built on Nov  5 2010 09:34:37 with gcc 4.3.2
     configuration: --prefix=/usr --enable-shared --enable-libmp3lame --enable-gpl --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-libgsm --enable-x11grab --enable-libx264 --enable-libtheora --extra-cflags=-Wall --enable-swscale --enable-libdc1394 --enable-nonfree --disable-mmx --disable-stripping --enable-avfilter --disable-altivec --disable-armv5te --disable-armv6 --disable-vis --enable-nonfree --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3
     libavutil     50.32. 6 / 50.32. 6
     libavcore      0.12. 0 /  0.12. 0
     libavcodec    52.94. 3 / 52.94. 3
     libavformat   52.84. 0 / 52.84. 0
     libavdevice   52. 2. 2 / 52. 2. 2
     libavfilter    1.56. 0 /  1.56. 0
     libswscale     0.12. 0 /  0.12. 0
     libpostproc   51. 2. 0 / 51. 2. 0
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.bad.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf52.84.0
     Duration: 00:00:45.93, start: 0.000000, bitrate: 591 kb/s
       Stream #0.0(und): Video: h264, yuv420p, 320x240 [PAR 1:1 DAR 4:3], 535 kb/s, 15 fps, 15 tbr, 15 tbn, 30 tbc
       Stream #0.1(und): Audio: aac, 48000 Hz, stereo, s16, 51 kb/s

    And here's the ffmpeg info of a video that plays correctly :

    sh-3.2$ ffmpeg -i video.mp4
    FFmpeg version SVN-r25679-snapshot, Copyright (c) 2000-2010 the FFmpeg developers
     built on Nov  5 2010 09:34:37 with gcc 4.3.2
     configuration: --prefix=/usr --enable-shared --enable-libmp3lame --enable-gpl --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-libgsm --enable-x11grab --enable-libx264 --enable-libtheora --extra-cflags=-Wall --enable-swscale --enable-libdc1394 --enable-nonfree --disable-mmx --disable-stripping --enable-avfilter --disable-altivec --disable-armv5te --disable-armv6 --disable-vis --enable-nonfree --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3
     libavutil     50.32. 6 / 50.32. 6
     libavcore      0.12. 0 /  0.12. 0
     libavcodec    52.94. 3 / 52.94. 3
     libavformat   52.84. 0 / 52.84. 0
     libavdevice   52. 2. 2 / 52. 2. 2
     libavfilter    1.56. 0 /  1.56. 0
     libswscale     0.12. 0 /  0.12. 0
     libpostproc   51. 2. 0 / 51. 2. 0
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'video.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: mp41
       title           : crazytown - http://www.archive.org/details/Cartoon-Crazytown
       encoder         : Lavf51.10.0
     Duration: 00:07:50.40, start: 0.000000, bitrate: 578 kb/s
       Stream #0.0(und): Video: h264, yuv420p, 320x240, 510 kb/s, 25 fps, 25 tbr, 25 tbn, 50 tbc
       Stream #0.1(und): Audio: aac, 48000 Hz, stereo, s16, 63 kb/s

    I have two questions here, actually. First, which of the details in my "bad" video does android not like ? And, second, what parameters should I use with ffmpeg to recode my videos ? As present I use this :

    ffmpeg -i $input_video_file -y -s 320x240 -vcodec libx264 -vpre medium -acodec libfaac -b 510K -ar 48000 -aspect 4:3 $tmpfile.mp4
    qt-faststart $tmpfile.mp4 $output_video_file.mp4

    But this produces a video that's not playable on android. Any help is greatly appreciated.

  • FFmpeg get header size

    25 juin 2012, par DEgITx

    The question is to get header size from format context (AVFormatContext) in ffmpeg.

    Now i'm using first packet position to get it :

    avformat_open_input(&m_formatContext, m_openedFilePath.toStdString().c_str(), NULL, NULL);
    //...
    AVPacket packet;
    if(av_read_frame(m_formatContext, &packet) >= 0)
       printf("Header size: %d", packet.pos); // First readed packet will be with header offset

    Any better way to do it without reading frame ?