Recherche avancée

Médias (0)

Mot : - Tags -/presse-papier

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (72)

  • Emballe Médias : Mettre en ligne simplement des documents

    29 octobre 2010, par

    Le plugin emballe médias a été développé principalement pour la distribution mediaSPIP mais est également utilisé dans d’autres projets proches comme géodiversité par exemple. Plugins nécessaires et compatibles
    Pour fonctionner ce plugin nécessite que d’autres plugins soient installés : CFG Saisies SPIP Bonux Diogène swfupload jqueryui
    D’autres plugins peuvent être utilisés en complément afin d’améliorer ses capacités : Ancres douces Légendes photo_infos spipmotion (...)

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

Sur d’autres sites (7183)

  • Recording RTP VP8 packets with FFMPEG with named pipe

    6 août 2015, par Filipe Apolinário

    I’m developing a WebRTC video session recorder, in a gateway developed in C++, where I only have access to individual RTP packets.

    When a session starts, I create two threads one that initializes a named pipe and an other that starts FFMPEG to fetch data from that pipe and store it in a matroska file, with the command :

    ffmpeg -i \\.\pipe\screenRec -f matroska D:\djhfifj.mkv

    Whenever I receive an RTP packet I send it through the pipe to FFMPEG. Although all communication is working fine, FFMPEG does not seem to be recognizing the RTP packet :

    ffmpeg version N-73633-gdfc5858 Copyright (c) 2000-2015 the FFmpeg developers
     built with gcc 4.9.2 (GCC)
     configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib
     libavutil      54. 28.100 / 54. 28.100
     libavcodec     56. 47.100 / 56. 47.100
     libavformat    56. 40.100 / 56. 40.100
     libavdevice    56.  4.100 / 56.  4.100
     libavfilter     5. 21.100 /  5. 21.100
     libswscale      3.  1.101 /  3.  1.101
     libswresample   1.  2.100 /  1.  2.100
     libpostproc    53.  3.100 / 53.  3.100
    [aac @ 031b3fc0] Format aac detected only with low score of 1, misdetection possible!
    [aac @ 031bd820] More than one AAC RDB per ADTS frame is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
    [aac @ 031bd820] channel element 3.13 is not allocated
    [aac @ 031bd820] Reserved bit set.
    [aac @ 031bd820] Number of bands (26) exceeds limit (9).
    [aac @ 031bd820] Reserved bit set.
    [aac @ 031bd820] Number of bands (60) exceeds limit (44).
    [aac @ 031bd820] Number of bands (6) exceeds limit (4).
    [aac @ 031bd820] Reserved bit set.
    [aac @ 031bd820] Number of bands (30) exceeds limit (23).
    [aac @ 031bd820] Sample rate index in program config element does not match the sample rate index configured by the container.
    [aac @ 031bd820] Inconsistent channel configuration.
    [aac @ 031bd820] get_buffer() failed
    [aac @ 031bd820] Assuming an incorrectly encoded 7.1 channel layout instead of a spec-compliant 7.1(wide) layout, use -strict 1 to decode according to the specification instead.
    [aac @ 031bd820] Reserved bit set.
    [aac @ 031bd820] Number of bands (16) exceeds limit (11).
    [aac @ 031bd820] Dependent coupling is not supported together with LTP
       Last message repeated 9 times
    [aac @ 031bd820] channel element 3.5 is not allocated
    [aac @ 031bd820] channel element 3.13 is not allocated
    [aac @ 031bd820] channel element 3.3 is not allocated
    [aac @ 031bd820] Number of bands (16) exceeds limit (14).
    [aac @ 031bd820] channel element 3.10 is not allocated
    [aac @ 031bd820] channel element 3.2 is not allocated
    [aac @ 031bd820] Reserved bit set.
    [aac @ 031bd820] Number of scalefactor bands in group (61) exceeds limit (43).
    [aac @ 031bd820] Reserved bit set.
    [aac @ 031bd820] Number of bands (29) exceeds limit (13).
    [aac @ 031bd820] Sample rate index in program config element does not match the sample rate index configured by the container.
    [aac @ 031bd820] Inconsistent channel configuration.
    [aac @ 031bd820] get_buffer() failed
    [aac @ 031bd820] channel element 0.7 is not allocated
    [aac @ 031bd820] Number of bands (24) exceeds limit (15).
    [aac @ 031bd820] channel element 1.1 is not allocated
    [aac @ 031bd820] channel element 2.0 is not allocated
    [aac @ 031bd820] Reserved bit set.
    [aac @ 031bd820] Number of scalefactor bands in group (62) exceeds limit (41).
    [aac @ 031bd820] Reserved bit set.
    [aac @ 031bd820] Number of bands (15) exceeds limit (13).
    [aac @ 031bd820] Reserved bit set.
    [aac @ 031bd820] Number of bands (23) exceeds limit (2).
    [aac @ 031bd820] channel element 1.4 is not allocated
    [aac @ 031bd820] Assuming an incorrectly encoded 7.1 channel layout instead of a spec-compliant 7.1(wide) layout, use -strict 1 to decode according to the specification instead.
    [aac @ 031bd820] channel element 1.2 is not allocated
    [aac @ 031bd820] channel element 1.8 is not allocated
    [aac @ 031bd820] channel element 3.7 is not allocated
    [aac @ 031bd820] channel element 2.9 is not allocated
    [aac @ 031bd820] channel element 3.8 is not allocated
    [aac @ 031bd820] Reserved bit set.
    [aac @ 031bd820] Number of scalefactor bands in group (48) exceeds limit (43).
    [aac @ 031bd820] channel element 3.8 is not allocated
    [aac @ 031bd820] channel element 2.13 is not allocated
    [aac @ 031bd820] channel element 3.4 is not allocated
    [aac @ 031bd820] Dependent coupling is not supported together with LTP
       Last message repeated 13 times
    [aac @ 031bd820] channel element 2.14 is not allocated
    [aac @ 031bd820] SBR was found before the first channel element.
    [aac @ 031bd820] Sample rate index in program config element does not match the sample rate index configured by the container.
    [aac @ 031bd820] Inconsistent channel configuration.
    [aac @ 031bd820] get_buffer() failed
    [aac @ 031bd820] Number of bands (6) exceeds limit (5).
    [aac @ 031bd820] channel element 3.0 is not allocated
    [aac @ 031bd820] channel element 1.5 is not allocated
    [aac @ 031bd820] channel element 1.13 is not allocated
    [aac @ 031bd820] channel element 1.7 is not allocated
    [aac @ 031bd820] channel element 2.0 is not allocated
    [aac @ 031bd820] Dependent coupling is not supported together with LTP
       Last message repeated 13 times
    [aac @ 031bd820] channel element 3.0 is not allocated
    [aac @ 031bd820] Assuming an incorrectly encoded 7.1 channel layout instead of a spec-compliant 7.1(wide) layout, use -strict 1 to decode according to the specification instead.
    [aac @ 031bd820] SBR was found before the first channel element.
    [aac @ 031bd820] Reserved bit set.
    [aac @ 031bd820] Number of bands (31) exceeds limit (30).
    [aac @ 031bd820] channel element 1.12 is not allocated
    [aac @ 031bd820] Reserved bit set.
    [aac @ 031bd820] Number of bands (29) exceeds limit (10).
    [aac @ 031bd820] channel element 3.2 is not allocated
    [aac @ 031bd820] channel element 3.15 is not allocated
    [aac @ 031bd820] channel element 1.5 is not allocated
    [aac @ 031bd820] channel element 2.7 is not allocated
    [aac @ 031bd820] channel element 1.9 is not allocated
    [aac @ 031bd820] Number of bands (54) exceeds limit (34).
    [aac @ 031bd820] channel element 1.6 is not allocated
    [aac @ 031bd820] channel element 1.2 is not allocated
    [aac @ 031bd820] channel element 3.7 is not allocated
    [aac @ 031bd820] Reserved bit set.
    [aac @ 031bd820] ms_present = 3 is reserved.
    [aac @ 031b3fc0] decoding for stream 0 failed
    [aac @ 031b3fc0] Could not find codec parameters for stream 0 (Audio: aac (LTP), 4.0, fltp, 1506 kb/s): unspecified sample rate
    Consider increasing the value for the 'analyzeduration' and 'probesize' options
    \\.\pipe\screenRec96: could not find codec parameters
    Input #0, aac, from '\\.\pipe\screenRec96':
     Duration: N/A, bitrate: 1506 kb/s
       Stream #0:0: Audio: aac (LTP), 4.0, fltp, 1506 kb/s
    [abuffer @ 0435cd00] Value inf for parameter 'time_base' out of range [0 - 2.14748e+009]
       Last message repeated 3 times
    [abuffer @ 0435cd00] Error setting option time_base to value 1/0.
    [graph 0 input from stream 0:0 @ 0319afe0] Error applying options to the filter.
    Error opening filters!

    Is it possible to make FFMPEG understand that the packet sent is RTP with VP8 ?

  • Compress video FFMPEG doesn't work

    30 juillet 2015, par Douglas Anunciação

    I’m trying to compress video using FFMPEG and this library : https://github.com/guardianproject/android-ffmpeg-java

    I imported ffmpeglib as a module in my project. This is the code is use to compress :

    public class MainActivity extends Activity {

       private ArrayList&lt;Object&gt; listVideoPaths = new ArrayList&lt;&gt;();<br />
    <br />
       @Override<br />
       protected void onCreate(Bundle savedInstanceState) {<br />
           super.onCreate(savedInstanceState);<br />
           setContentView(R.layout.activity_main);<br />
    <br />
           getGalleryVideos();<br />
    <br />
           File videoFolderFile = new File(&quot;/storage/emulated/0/DCIM/Camera/&quot;);<br />
    <br />
           if(videoFolderFile.exists())<br />
               Log.e(&quot;TEST FFMPEG&quot;, &quot;video folder exist&quot;);<br />
           else<br />
               Log.e(&quot;TEST FFMPEG&quot;, &quot;video folder DON'T exist&quot;);<br />
    <br />
    <br />
           File videoInputFile = new File(listVideoPaths.get(0).toString());<br />
    <br />
           if(videoInputFile.exists())<br />
               Log.e(&quot;TEST FFMPEG&quot;, &quot;video input file exist&quot;);<br />
           else<br />
               Log.e(&quot;TEST FFMPEG&quot;, &quot;video input file DON'T exist&quot;);<br />
    <br />
           File videoOutputFile = new File(videoFolderFile,&quot;output.mp4&quot;);<br />
    <br />
           if(videoOutputFile.exists())<br />
               Log.e(&quot;TEST FFMPEG&quot;, &quot;video output file exist&quot;);<br />
           else<br />
               Log.e(&quot;TEST FFMPEG&quot;, &quot;video output file DON'T exist&quot;);<br />
    <br />
           FfmpegController ffmpegController;<br />
    <br />
           try {<br />
               ffmpegController = new FfmpegController(this,videoFolderFile);<br />
    <br />
               Clip mediaIn = new Clip();<br />
    <br />
               mediaIn.path = videoInputFile.getAbsolutePath();<br />
    <br />
               mediaIn.videoFps =  &quot;25&quot;;<br />
    <br />
               ffmpegController.convertToMPEG(mediaIn, videoOutputFile.getAbsolutePath(), new ShellUtils.ShellCallback() {<br />
    <br />
                   @Override<br />
                   public void shellOut(String shellLine) {<br />
                       Log.e(&quot;TEST FFMPEG&quot;, &quot;shellOut - &quot; + shellLine);<br />
                   }<br />
    <br />
                   @Override<br />
                   public void processComplete(int exitValue) {<br />
                       Log.e(&quot;TEST FFMPEG&quot;, &quot;proccess complete - &quot; + exitValue);<br />
                   }<br />
               });<br />
    <br />
    <br />
           } catch (IOException e) {<br />
               e.printStackTrace();<br />
           } catch (Exception e) {<br />
               e.printStackTrace();<br />
           }finally {<br />
    <br />
               if(videoOutputFile.exists())<br />
                   Log.e(&quot;TEST FFMPEG&quot;, &quot;finished ffmpeg ---&gt; video output file exist&quot;);<br />
               else<br />
                   Log.e(&quot;TEST FFMPEG&quot;, &quot;finished ffmpeg ---&gt; video output file DON'T exist&quot;);<br />
    <br />
           }<br />
       }<br />
    <br />
       private void getGalleryVideos(){<br />
    <br />
           Cursor videoCursor = null;<br />
    <br />
           try {<br />
    <br />
               final String[] columns = { Media.DATA,<br />
                       Media._ID,<br />
                       Media.DATE_ADDED };<br />
    <br />
               final String orderBy = Media.DATE_ADDED;<br />
    <br />
               videoCursor = getContentResolver().query(<br />
                       MediaStore.Video.Media.EXTERNAL_CONTENT_URI, columns,<br />
                       null, null, orderBy);<br />
    <br />
               if (videoCursor != null &amp;amp;&amp;amp; videoCursor.getCount() &gt; 0) {<br />
    <br />
                   while (videoCursor.moveToNext()) {<br />
    <br />
                       int dataColumnIndex = videoCursor<br />
                               .getColumnIndex(Media.DATA);<br />
    <br />
                       listVideoPaths.add(videoCursor<br />
                               .getString(dataColumnIndex));<br />
    <br />
                   }<br />
    <br />
               }<br />
    <br />
               Collections.sort(listVideoPaths,new Comparator());<br />
    <br />
           } catch (Exception e) {<br />
    <br />
               e.printStackTrace();<br />
    <br />
           } finally {<br />
    <br />
               if (videoCursor != null) {<br />
    <br />
                   if (!videoCursor.isClosed()) {<br />
    <br />
                       videoCursor.close();<br />
    <br />
                   }<br />
    <br />
               }<br />
    <br />
           }<br />
    <br />
       }<br />
    <br />
    }<br />
    &lt;/code&gt;&lt;/pre&gt;<br />
    <br />
    &lt;p&gt;I get no error but the video doesn't play. The log file is:&lt;/p&gt;<br />
    <br />
    &lt;blockquote&gt;<br />
     &lt;p&gt;3096-3096/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     video folder exist 07-30 14:31:57.389&lt;br&gt;<br />
     3096-3096/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     video input file exist 07-30 14:31:57.389&lt;br&gt;<br />
     3096-3096/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     video output file DON'T exist 07-30 14:31:58.363&lt;br&gt;<br />
     3096-3096/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -<br />
     /data/data/douglasanunciacao.androidffmpegjavateste/app_bin/ffmpeg -y<br />
     -i /storage/emulated/0/DCIM/Camera/VID_20150730_142330563.mp4 -f mpeg /storage/emulated/0/DCIM/Camera/output.mp4 07-30 14:31:58.385&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut - WARNING: linker:<br />
     /data/data/douglasanunciacao.androidffmpegjavateste/app_bin/ffmpeg has<br />
     text relocations. This is wasting memory and prevents security<br />
     hardening. Please fix. 07-30 14:31:58.390&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut - ffmpeg version 0.11.1 Copyright (c) 2000-2012 the FFmpeg<br />
     developers 07-30 14:31:58.391&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -   built on Dec 22 2014 12:52:34 with gcc 4.6 20120106<br />
     (prerelease) 07-30 14:31:58.391&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -   configuration: --arch=arm --cpu=cortex-a8<br />
     --target-os=linux --enable-runtime-cpudetect --prefix=/data/data/info.guardianproject.ffmpeg/app_opt --enable-pic --disable-shared --enable-static --cross-prefix=/home/n8fr8/dev/android/ndk/toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64/bin/arm-linux-androideabi-<br />
     --sysroot=/home/n8fr8/dev/android/ndk/platforms/android-16/arch-arm --extra-cflags='-I../x264 -mfloat-abi=softfp -mfpu=neon -fPIE -pie' --extra-ldflags='-L../x264 -fPIE -pie' --enable-version3 --enable-gpl --disable-doc --enable-yasm --enable-decoders --enable-encoders --enable-muxers --enable-demuxers --enable-parsers --enable-protocols --enable-filters --enable-avresample --enable-libfreetype --disable-indevs --enable-indev=lavfi --disable-outdevs --enable-hwaccels --enable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-network --enable-libx264 --enable-zlib 07-30 14:31:58.391&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -   libavutil      51. 54.100 / 51. 54.100 07-30 14:31:58.391<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -   libavcodec     54. 23.100 / 54. 23.100 07-30 14:31:58.391<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -   libavformat    54.  6.100 / 54.  6.100 07-30 14:31:58.391<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -   libavdevice    54.  0.100 / 54.  0.100 07-30 14:31:58.391<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -   libavfilter     2. 77.100 /  2. 77.100 07-30 14:31:58.391<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -   libswscale      2.  1.100 /  2.  1.100 07-30 14:31:58.391<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -   libswresample   0. 15.100 /  0. 15.100 07-30 14:31:58.391<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -   libpostproc    52.  0.100 / 52.  0.100 07-30 14:31:58.868<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut - Input #0, mov,mp4,m4a,3gp,3g2,mj2, from<br />
     '/storage/emulated/0/DCIM/Camera/VID_20150730_142330563.mp4': 07-30<br />
     14:31:58.869    3096-3182/douglasanunciacao.androidffmpegjavateste<br />
     E/TESTE FFMPEG﹕ shellOut -   Metadata: 07-30 14:31:58.869&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -     major_brand     : mp42 07-30 14:31:58.870&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -     minor_version   : 0 07-30 14:31:58.871&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -     compatible_brands: isommp42 07-30 14:31:58.872&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -     creation_time   : 2015-07-30 17:23:34 07-30<br />
     14:31:58.873    3096-3182/douglasanunciacao.androidffmpegjavateste<br />
     E/TESTE FFMPEG﹕ shellOut -   Duration: 00:00:01.89, start: 0.000000,<br />
     bitrate: 17571 kb/s 07-30 14:31:58.874&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -     Stream #0:0(eng): Video: h264 (High) (avc1 /<br />
     0x31637661), yuv420p, 1920x1080, 15874 kb/s, SAR 65536:65536 DAR 16:9,<br />
     23.90 fps, 23.92 tbr, 90k tbn, 180k tbc 07-30 14:31:58.875    3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -     Metadata: 07-30 14:31:58.876&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -       rotate          : 270 07-30 14:31:58.877&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -       creation_time   : 2015-07-30 17:23:34 07-30<br />
     14:31:58.878    3096-3182/douglasanunciacao.androidffmpegjavateste<br />
     E/TESTE FFMPEG﹕ shellOut -       handler_name    : VideoHandle 07-30<br />
     14:31:58.878    3096-3182/douglasanunciacao.androidffmpegjavateste<br />
     E/TESTE FFMPEG﹕ shellOut -     Stream #0:1(eng): Audio: aac (mp4a /<br />
     0x6134706D), 48000 Hz, stereo, s16, 127 kb/s 07-30 14:31:58.878&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -     Metadata: 07-30 14:31:58.878&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -       creation_time   : 2015-07-30 17:23:34 07-30<br />
     14:31:58.878    3096-3182/douglasanunciacao.androidffmpegjavateste<br />
     E/TESTE FFMPEG﹕ shellOut -       handler_name    : SoundHandle 07-30<br />
     14:31:58.882    3096-3182/douglasanunciacao.androidffmpegjavateste<br />
     E/TESTE FFMPEG﹕ shellOut - [buffer @ 0xb5cce0a0] w:1920 h:1080<br />
     pixfmt:yuv420p tb:1/90000 sar:65536/65536 sws_param:flags=2 07-30<br />
     14:31:58.882    3096-3182/douglasanunciacao.androidffmpegjavateste<br />
     E/TESTE FFMPEG﹕ shellOut - [buffersink @ 0xb5cce0d0] No opaque field<br />
     provided 07-30 14:31:58.891&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut - [mpeg @ 0xb5c3df00] VBV buffer size not set, muxing may<br />
     fail 07-30 14:31:58.892&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut - Output #0, mpeg, to<br />
     '/storage/emulated/0/DCIM/Camera/output.mp4': 07-30 14:31:58.894&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -   Metadata: 07-30 14:31:58.895&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -     major_brand     : mp42 07-30 14:31:58.896&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -     minor_version   : 0 07-30 14:31:58.896&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -     compatible_brands: isommp42 07-30 14:31:58.897&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -     creation_time   : 2015-07-30 17:23:34 07-30<br />
     14:31:58.898    3096-3182/douglasanunciacao.androidffmpegjavateste<br />
     E/TESTE FFMPEG﹕ shellOut -     encoder         : Lavf54.6.100 07-30<br />
     14:31:58.898    3096-3182/douglasanunciacao.androidffmpegjavateste<br />
     E/TESTE FFMPEG﹕ shellOut -     Stream #0:0(eng): Video: mpeg1video,<br />
     yuv420p, 1920x1080 [SAR 65536:65536 DAR 16:9], q=2-31, 200 kb/s, 90k<br />
     tbn, 23.98 tbc 07-30 14:31:58.899&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -     Metadata: 07-30 14:31:58.899&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -       rotate          : 270 07-30 14:31:58.900&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -       creation_time   : 2015-07-30 17:23:34 07-30<br />
     14:31:58.901    3096-3182/douglasanunciacao.androidffmpegjavateste<br />
     E/TESTE FFMPEG﹕ shellOut -       handler_name    : VideoHandle 07-30<br />
     14:31:58.906    3096-3182/douglasanunciacao.androidffmpegjavateste<br />
     E/TESTE FFMPEG﹕ shellOut -     Stream #0:1(eng): Audio: mp2, 48000 Hz,<br />
     stereo, s16, 128 kb/s 07-30 14:31:58.906&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -     Metadata: 07-30 14:31:58.906&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -       creation_time   : 2015-07-30 17:23:34 07-30<br />
     14:31:58.906    3096-3182/douglasanunciacao.androidffmpegjavateste<br />
     E/TESTE FFMPEG﹕ shellOut -       handler_name    : SoundHandle 07-30<br />
     14:31:58.906    3096-3182/douglasanunciacao.androidffmpegjavateste<br />
     E/TESTE FFMPEG﹕ shellOut - Stream mapping: 07-30 14:31:58.906&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut -   Stream #0:0 -&gt; #0:0 (h264 -&gt; mpeg1video) 07-30<br />
     14:31:58.906    3096-3182/douglasanunciacao.androidffmpegjavateste<br />
     E/TESTE FFMPEG﹕ shellOut -   Stream #0:1 -&gt; #0:1 (aac -&gt; mp2) 07-30<br />
     14:31:58.906    3096-3182/douglasanunciacao.androidffmpegjavateste<br />
     E/TESTE FFMPEG﹕ shellOut - Press [q] to stop, [?] for help 07-30<br />
     14:31:59.824    3096-3182/douglasanunciacao.androidffmpegjavateste<br />
     E/TESTE FFMPEG﹕ shellOut - frame=    4 fps=0.0 q=2.0 size=       0kB<br />
     time=00:00:00.08 bitrate=   0.0kbits/s 07-30 14:32:02.029&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut - frame=    8 fps=2.7 q=10.5 size=       4kB time=00:00:00.25<br />
     bitrate= 130.9kbits/s 07-30 14:32:02.536&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut - frame=   13 fps=3.7 q=25.2 size=     696kB time=00:00:00.45<br />
     bitrate=12427.3kbits/s 07-30 14:32:03.045&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut - frame=   18 fps=4.4 q=31.0 size=     750kB time=00:00:00.66<br />
     bitrate=9206.8kbits/s 07-30 14:32:03.582&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut - frame=   23 fps=5.0 q=31.0 size=     786kB time=00:00:00.87<br />
     bitrate=7351.4kbits/s 07-30 14:32:04.140&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut - frame=   28 fps=5.5 q=31.0 size=     862kB time=00:00:01.08<br />
     bitrate=6511.8kbits/s 07-30 14:32:05.239&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut - frame=   30 fps=4.8 q=31.0 size=     876kB time=00:00:01.16<br />
     bitrate=6144.9kbits/s 07-30 14:32:05.746&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut - frame=   35 fps=5.2 q=31.0 size=     910kB time=00:00:01.37<br />
     bitrate=5416.2kbits/s 07-30 14:32:06.317&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut - frame=   41 fps=5.6 q=31.0 size=     972kB time=00:00:01.62<br />
     bitrate=4895.2kbits/s 07-30 14:32:06.832&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut - frame=   45 fps=5.7 q=31.0 Lsize=    1022kB<br />
     time=00:00:01.83 bitrate=4562.1kbits/s 07-30 14:32:06.832&lt;br&gt;<br />
     3096-3182/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     shellOut - video:984kB audio:30kB global headers:0kB muxing overhead<br />
     0.756932% 07-30 14:32:06.858    3096-3096/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     proccess complete - 0 07-30 14:32:06.858&lt;br&gt;<br />
     3096-3096/douglasanunciacao.androidffmpegjavateste E/TESTE FFMPEG﹕<br />
     terminou o ffmpeg ---&gt; video output file exist&lt;/p&gt;<br />
    &lt;/blockquote&gt;<br />
    <br />
    &lt;p&gt;Does anyone knows how to solve this problem? Thanks in advance.&lt;/p&gt;
  • ffmpeg ffserver - create a mosaic from two 720p webcam feeds

    28 juillet 2015, par der_felix

    for a project i would like to take the video feeds (NO audio) of two logitech c920 webcams, put them side-by-side and stream them.
    the c920 is able to compress the video feed with h264 itself(if enabled) and delivers 1080p with upto 30fps.
    the stream is then loaded in an android app by a ffmpeg library and rendered to the screen.

    what i already know :
    i know that i can take multiple streams or input files and create a mosaic stream via the filter_complex module.
    http and h264 seem to be good for streaming, but other configurations are also welcom if they are faster/better.

    the question :
    but how can i start the cameras with v4l2, set the camera resoltution and camera internal encoding and use these streams to create the mosaic ?
    the mosaic should be unscaled (=2560x720px).

    and i very often get the error code 256 but didnt find a solution what it means.

    the system : laptop with usb3, ubuntu 15.04x64 ffmpeg 2.7.1 and ffserver 2.5.7

    thanks for your help

    ffserver config :

    HTTPPort 8080                
    HTTPBindAddress 0.0.0.0      
    MaxHTTPConnections 2000  
    MaxClients 1000        
    MaxBandwidth 50000
    CustomLog -      
    #NoDaemon      

    <feed>        

    File /tmp/feed1.ffm
    Launch ffmpeg -f v4l2 - input_format h264 -i /dev/video0 -i /dev/video1 -size 1280x720 -r 30 -filter_complex "nullsrc=size=2560x720 [base]; [0:v] setpts=PTS-STARTPTS [left]; [1:v] setpts=PTS-STARTPTS [right]; [base][left] overlay=shortest=1 [tmp1]; [tmp1][right] overlay=shortest=1:x=1280"  -c:v libx264 -f mpegts

    </feed>

    <stream>

    Feed feed1.ffm
    Format mpegts      
    VideoBitRate 1024  
    #VideoBufferSize 1024
    VideoFrameRate 30      
    #VideoSize hd720      
    VideoSize 2560x720
    #VideoIntraOnly        
    #VideoGopSize 12      
    VideoCodec libx264      
    NoAudio            
    VideoQMin 3        
    VideoQMax 31
    NoDefaults

    </stream>

    <stream>        
      Format status
      #Only allow local people to get the status
      ACL allow localhost
      ACL allow 192.168.0.0 192.168.255.255
    </stream>

    output :

    ubuntu@ubuntu:~$ ffserver
    ffserver version 2.5.7-0ubuntu0.15.04.1 Copyright (c) 2000-2015 the FFmpeg developers
     built with gcc 4.9.2 (Ubuntu 4.9.2-10ubuntu13)
     configuration: --prefix=/usr --extra-version=0ubuntu0.15.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --shlibdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --enable-shared --disable-stripping --enable-avresample --enable-avisynth --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libshine --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libwavpack --enable-libwebp --enable-libxvid --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzvbi --enable-libzmq --enable-frei0r --enable-libvpx --enable-libx264 --enable-libsoxr --enable-gnutls --enable-openal --enable-libopencv --enable-librtmp --enable-libx265
     libavutil      54. 15.100 / 54. 15.100
     libavcodec     56. 13.100 / 56. 13.100
     libavformat    56. 15.102 / 56. 15.102
     libavdevice    56.  3.100 / 56.  3.100
     libavfilter     5.  2.103 /  5.  2.103
     libavresample   2.  1.  0 /  2.  1.  0
     libswscale      3.  1.101 /  3.  1.101
     libswresample   1.  1.100 /  1.  1.100
     libpostproc    53.  3.100 / 53.  3.100
    Tue Jul 28 10:13:44 2015 FFserver started.
    Tue Jul 28 10:13:44 2015 Launch command line: ffmpeg -f v4l2 - input_format h264 -i /dev/video0 -i /dev/video1 -size 1280x720 -r 30 -filter_complex nullsrc=size=2560x720 [base]; [0:v] setpts=PTS-STARTPTS [left]; [1:v] setpts=PTS-STARTPTS [right]; [base][left] overlay=shortest=1 [tmp1]; [tmp1][right] overlay=shortest=1:x=1280 -c:v libx264 -f mpegts http://127.0.0.1:8080/feed1.ffm
    feed1.ffm: Pid 17388 exited with status 256 after 0 seconds

    Hey guys !

    Here is our plan b for the mosaic stream.

    Alternative config :

    HTTPPort 8080        
    HTTPBindAddress 0.0.0.0  
    MaxHTTPConnections 2000  
    MaxClients 1000        
    MaxBandwidth 50000      
    CustomLog -        

    <feed>
    File /tmp/feedlinks.ffm
    Launch ffmpeg -f v4l2 -input_format h264 -vcodec h264 -i /dev/video0 -video_size 1280x720 -r 30
    </feed>

    <feed>
    File /tmp/feedrechts.ffm
    Launch ffmpeg -f v4l2 -input_format h264 -vcodec h264 -i /dev/video1 -video_size 1280x720 -r 30
    </feed>

    <stream>
    Feed feedlinks.ffm
    Format mpegts
    VideoBitRate 512
    VideoFrameRate 30
    VideoSize hd720
    VideoCodec libx264
    NoAudio
    VideoQMin 3
    VideoQMax 31
    </stream>

    <stream>
    Feed feedrechts.ffm
    Format mpegts
    VideoBitRate 512
    VideoFrameRate 30
    VideoSize hd720
    VideoCodec libx264
    NoAudio
    VideoQMin 3
    VideoQMax 31
    </stream>

    <feed>
    File /tmp/feedmosaic.ffm
    Launch ffmpeg -i http://localhost:8080/testlinks.mpg -i http://localhost:8080/testrechts.mpg -filter_complex "nullsrc=size=2560x720 [base]; [0:v] setpts=PTS-STARTPTS [left]; [1:v] setpts=PTS-STARTPTS [right]; [base][left] overlay=shortest=1 [tmp1]; [tmp1][right] overlay=shortest=1:x=1280" -c:v libx264 -preset ultrafast -f mpegts
    </feed>

    <stream>
    Feed feedmosaic.ffm
    Format mpegts         # Format of the stream
    VideoFrameRate 30      # Number of frames per second
    VideoSize 2560x720
    VideoCodec libx264      # Choose your codecs.
    NoAudio            # Suppress audio
    VideoQMin 3         # Videoquality ranges from 1 - 31 (worst to best)
    VideoQMax 31
    NoDefaults
    </stream>

    <stream>           # Server status URL
      Format status
      # Only allow local people to get the status
      ACL allow localhost
      ACL allow 192.168.0.0 192.168.255.255
      ACL allow 192.168.178.0 192.168.255.255
    </stream>

    And this is the new output :

    ubuntu@ubuntu:~$ ffserver
    ffserver version 2.5.7-0ubuntu0.15.04.1 Copyright (c) 2000-2015 the FFmpeg developers
     built with gcc 4.9.2 (Ubuntu 4.9.2-10ubuntu13)
     configuration: --prefix=/usr --extra-version=0ubuntu0.15.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --shlibdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --enable-shared --disable-stripping --enable-avresample --enable-avisynth --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libschroedinger --enable-libshine --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libwavpack --enable-libwebp --enable-libxvid --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzvbi --enable-libzmq --enable-frei0r --enable-libvpx --enable-libx264 --enable-libsoxr --enable-gnutls --enable-openal --enable-libopencv --enable-librtmp --enable-libx265
     libavutil      54. 15.100 / 54. 15.100
     libavcodec     56. 13.100 / 56. 13.100
     libavformat    56. 15.102 / 56. 15.102
     libavdevice    56.  3.100 / 56.  3.100
     libavfilter     5.  2.103 /  5.  2.103
     libavresample   2.  1.  0 /  2.  1.  0
     libswscale      3.  1.101 /  3.  1.101
     libswresample   1.  1.100 /  1.  1.100
     libpostproc    53.  3.100 / 53.  3.100
    /etc/ffserver.conf:44: Setting default value for video bit rate tolerance = 128000. Use NoDefaults to disable it.
    /etc/ffserver.conf:44: Setting default value for video rate control equation = tex^qComp. Use NoDefaults to disable it.
    /etc/ffserver.conf:44: Setting default value for video max rate = 1024000. Use NoDefaults to disable it.
    /etc/ffserver.conf:44: Setting default value for video buffer size = 1024000. Use NoDefaults to disable it.
    /etc/ffserver.conf:61: Setting default value for video bit rate tolerance = 128000. Use NoDefaults to disable it.
    /etc/ffserver.conf:61: Setting default value for video rate control equation = tex^qComp. Use NoDefaults to disable it.
    /etc/ffserver.conf:61: Setting default value for video max rate = 1024000. Use NoDefaults to disable it.
    /etc/ffserver.conf:61: Setting default value for video buffer size = 1024000. Use NoDefaults to disable it.
    Tue Jul 28 11:13:01 2015 Codec bitrates do not match for stream 0
    Tue Jul 28 11:13:01 2015 FFserver started.
    Tue Jul 28 11:13:01 2015 Launch command line: ffmpeg -f v4l2 -input_format h264 -vcodec h264 -i /dev/video0 -video_size 1280x720 -r 30 http://127.0.0.1:8080/feedlinks.ffm
    Tue Jul 28 11:13:01 2015 Launch command line: ffmpeg -f v4l2 -input_format h264 -vcodec h264 -i /dev/video1 -video_size 1280x720 -r 30 http://127.0.0.1:8080/feedrechts.ffm
    Tue Jul 28 11:13:01 2015 Launch command line: ffmpeg -i http://localhost:8080/testlinks.mpg -i http://localhost:8080/testrechts.mpg -filter_complex nullsrc=size=2560x720 [base]; [0:v] setpts=PTS-STARTPTS [left]; [1:v] setpts=PTS-STARTPTS [right]; [base][left] overlay=shortest=1 [tmp1]; [tmp1][right] overlay=shortest=1:x=1280 -c:v libx264 -preset ultrafast -f mpegts http://127.0.0.1:8080/feedmosaic.ffm
    Tue Jul 28 11:13:02 2015 127.0.0.1 - - [GET] "/feedlinks.ffm HTTP/1.1" 200 4175
    Tue Jul 28 11:13:02 2015 127.0.0.1 - - [GET] "/feedrechts.ffm HTTP/1.1" 200 4175
    Tue Jul 28 11:13:18 2015 127.0.0.1 - - [POST] "/feedmosaic.ffm HTTP/1.1" 200 4096
    Tue Jul 28 11:13:18 2015 127.0.0.1 - - [GET] "/testlinks.mpg HTTP/1.1" 200 2130291
    Tue Jul 28 11:13:18 2015 127.0.0.1 - - [GET] "/testrechts.mpg HTTP/1.1" 200 1244999
    feedmosaic.ffm: Pid 18775 exited with status 256 after 17 seconds

    Thanks for your help !