Recherche avancée

Médias (91)

Autres articles (47)

  • Personnaliser les catégories

    21 juin 2013, par

    Formulaire de création d’une catégorie
    Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
    Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire.
    Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
    Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
    The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
    For older browsers the Flowplayer flash fallback is used.
    MediaSPIP allows for media playback on major mobile platforms with the above (...)

Sur d’autres sites (9645)

  • FFMPEG, Creating an MPEG-DASH stream with existing inputs

    10 septembre 2019, par kitensei

    I am trying to generating a DASH .mpd file from multiple inputs (2 videos, 1 audio) without any success..

    What I’d like to do it’s simple getting the streams and create an mpd file without any re encoding since I’ve already my sources ready.

    The output seems to work in rxplayer, but I do get a lot of errors (see log below).

    Here are my 3 sources (taken from http://dash-mse-test.appspot.com/media.html) :

    ➜  test-dash $ ffprobe -hide_banner ../test-sources/car/car-20120827-89.mp4
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '../test-sources/car/car-20120827-89.mp4':
     Metadata:
       major_brand     : dash
       minor_version   : 0
       compatible_brands: iso6avc1mp41
       creation_time   : 2012-08-24T03:04:15.000000Z
     Duration: 00:03:01.39, start: 0.000000, bitrate: 4202 kb/s
       Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1920x1080, 171 kb/s, 23.97 fps, 23.97 tbr, 90k tbn, 47.95 tbc (default)
       Metadata:
         creation_time   : 2012-08-24T03:04:15.000000Z
         handler_name    : VideoHandler

    ➜  test-dash $ ffprobe -hide_banner ../test-sources/car/car-20120827-88.mp4
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '../test-sources/car/car-20120827-88.mp4':
     Metadata:
       major_brand     : dash
       minor_version   : 0
       compatible_brands: iso6avc1mp41
       creation_time   : 2012-08-27T01:01:28.000000Z
     Duration: 00:03:01.43, start: 0.000000, bitrate: 2076 kb/s
       Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(progressive), 1280x720, 81 kb/s, 23.97 fps, 23.97 tbr, 90k tbn, 47.95 tbc (default)
       Metadata:
         creation_time   : 2012-08-27T01:01:28.000000Z
         handler_name    : VideoHandler

    ➜  test-dash $ ffprobe -hide_banner ../test-sources/car/car-20120827-8b.mp4
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '../test-sources/car/car-20120827-8b.mp4':
     Metadata:
       major_brand     : dash
       minor_version   : 0
       compatible_brands: iso6mp41
       creation_time   : 2012-08-27T01:19:23.000000Z
     Duration: 00:03:01.63, start: 0.000000, bitrate: 31 kb/s
       Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 22050 Hz, mono, fltp, 1 kb/s (default)
       Metadata:
         creation_time   : 2012-08-27T01:19:23.000000Z
         handler_name    : SoundHandler

    And here how I am "muxing" them together with an .mpd manifest :

    ffmpeg  \
    -re \
    -i ../test-sources/car/car-20120827-88.mp4 \
    -i ../test-sources/car/car-20120827-89.mp4 \
    -i ../test-sources/car/car-20120827-8d.mp4 \
    -map 0:0  \
    -map 1:0 \
    -map 2:0 \
    -c copy \
    -bf 1 -keyint_min 120 -g 120 -sc_threshold 0 \
    -b_strategy 0 -use_timeline 1 -use_template 1 \
    -adaptation_sets "id=0,streams=v id=1,streams=a" \
    -f dash out.mpd

    The generated mpd file :

    <?xml version="1.0" encoding="utf-8"?>
    <mpd xmlns="urn:mpeg:dash:schema:mpd:2011" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" mediapresentationduration="PT3M1.3S" minbuffertime="PT10.0S">
       <programinformation>
       </programinformation>
       <period start="PT0.0S">
           <adaptationset contenttype="video" segmentalignment="true" bitstreamswitching="true" lang="und">
               <representation mimetype="video/mp4" codecs="avc1.4d401f" bandwidth="81397" width="1280" height="720" framerate="45000/1877">
                   <segmenttemplate timescale="24000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startnumber="1">
                       <segmenttimeline>
                           <s t="0" d="120128"></s>
                           <s d="120120" r="34"></s>
                           <s d="29023"></s>
                       </segmenttimeline>
                   </segmenttemplate>
               </representation>
               <representation mimetype="video/mp4" codecs="avc1.640028" bandwidth="171953" width="1920" height="1080" framerate="45000/1877">
                   <segmenttemplate timescale="24000" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startnumber="1">
                       <segmenttimeline>
                           <s t="0" d="121129"></s>
                           <s d="239239"></s>
                           <s d="120120" r="32"></s>
                           <s d="29023"></s>
                       </segmenttimeline>
                   </segmenttemplate>
               </representation>
           </adaptationset>
           <adaptationset contenttype="audio" segmentalignment="true" bitstreamswitching="true" lang="und">
               <representation mimetype="audio/mp4" codecs="mp4a.40.2" bandwidth="13976" audiosamplingrate="44100">
                   <audiochannelconfiguration schemeiduri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"></audiochannelconfiguration>
                   <segmenttemplate timescale="44100" initialization="init-stream$RepresentationID$.m4s" media="chunk-stream$RepresentationID$-$Number%05d$.m4s" startnumber="1">
                       <segmenttimeline>
                           <s t="0" d="219136"></s>
                           <s d="221184"></s>
                           <s d="220160"></s>
                           <s d="221184"></s>
                           <s d="220160"></s>
                           <s d="221184" r="1"></s>
                           <s d="220160"></s>
                           <s d="221184"></s>
                           <s d="220160"></s>
                           <s d="221184"></s>
                           <s d="220160"></s>
                           <s d="221184"></s>
                           <s d="220160"></s>
                           <s d="221184"></s>
                           <s d="220160"></s>
                           <s d="221184" r="1"></s>
                           <s d="220160"></s>
                           <s d="221184"></s>
                           <s d="220160"></s>
                           <s d="221184"></s>
                           <s d="220160"></s>
                           <s d="221184"></s>
                           <s d="220160"></s>
                           <s d="221184"></s>
                           <s d="220160"></s>
                           <s d="221184" r="1"></s>
                           <s d="220160"></s>
                           <s d="221184"></s>
                           <s d="220160"></s>
                           <s d="221184"></s>
                           <s d="220160"></s>
                           <s d="221184"></s>
                           <s d="220160"></s>
                           <s d="63488"></s>
                       </segmenttimeline>
                   </segmenttemplate>
               </representation>
           </adaptationset>
       </period>
    </mpd>

    But I get a lot of errors :

    ➜  test-dash git:(0.1) ✗ ffmpeg  \
    -re \
    -i ../test-sources/car/car-20120827-88.mp4 \
    -i ../test-sources/car/car-20120827-89.mp4 \
    -i ../test-sources/car/car-20120827-8d.mp4 \
    -map 0:0  \
    -map 1:0 \
    -map 2:0 \
    -c copy \
    -bf 1 -keyint_min 120 -g 120 -sc_threshold 0 \
    -b_strategy 0 -use_timeline 1 -use_template 1 \
    -adaptation_sets "id=0,streams=v id=1,streams=a" \
    -f dash out.mpd
    ffmpeg version n4.2.1 Copyright (c) 2000-2019 the FFmpeg developers
     built with gcc 9.1.0 (GCC)
     configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-nvdec --enable-nvenc --enable-omx --enable-shared --enable-version3
     libavutil      56. 31.100 / 56. 31.100
     libavcodec     58. 54.100 / 58. 54.100
     libavformat    58. 29.100 / 58. 29.100
     libavdevice    58.  8.100 / 58.  8.100
     libavfilter     7. 57.100 /  7. 57.100
     libswscale      5.  5.100 /  5.  5.100
     libswresample   3.  5.100 /  3.  5.100
     libpostproc    55.  5.100 / 55.  5.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '../test-sources/car/car-20120827-88.mp4':
     Metadata:
       major_brand     : dash
       minor_version   : 0
       compatible_brands: iso6avc1mp41
       creation_time   : 2012-08-27T01:01:28.000000Z
     Duration: 00:03:01.43, start: 0.000000, bitrate: 2076 kb/s
       Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(progressive), 1280x720, 81 kb/s, 23.97 fps, 23.97 tbr, 90k tbn, 47.95 tbc (default)
       Metadata:
         creation_time   : 2012-08-27T01:01:28.000000Z
         handler_name    : VideoHandler
    Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '../test-sources/car/car-20120827-89.mp4':
     Metadata:
       major_brand     : dash
       minor_version   : 0
       compatible_brands: iso6avc1mp41
       creation_time   : 2012-08-24T03:04:15.000000Z
     Duration: 00:03:01.39, start: 0.000000, bitrate: 4202 kb/s
       Stream #1:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1920x1080, 171 kb/s, 23.97 fps, 23.97 tbr, 90k tbn, 47.95 tbc (default)
       Metadata:
         creation_time   : 2012-08-24T03:04:15.000000Z
         handler_name    : VideoHandler
    Input #2, mov,mp4,m4a,3gp,3g2,mj2, from '../test-sources/car/car-20120827-8d.mp4':
     Metadata:
       major_brand     : dash
       minor_version   : 0
       compatible_brands: iso6mp41
       creation_time   : 2012-08-27T00:59:44.000000Z
     Duration: 00:03:01.58, start: 0.000000, bitrate: 255 kb/s
       Stream #2:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 13 kb/s (default)
       Metadata:
         creation_time   : 2012-08-27T00:59:44.000000Z
         handler_name    : SoundHandler
    [dash @ 0x55b464bb1240] Opening 'init-stream0.m4s' for writing
    [dash @ 0x55b464bb1240] Opening 'init-stream1.m4s' for writing
    [dash @ 0x55b464bb1240] Opening 'init-stream2.m4s' for writing
    Output #0, dash, to 'out.mpd':
     Metadata:
       major_brand     : dash
       minor_version   : 0
       compatible_brands: iso6avc1mp41
       encoder         : Lavf58.29.100
       Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(progressive), 1280x720, q=2-31, 81 kb/s, 23.97 fps, 23.97 tbr, 24k tbn, 23.98 tbc (default)
       Metadata:
         creation_time   : 2012-08-27T01:01:28.000000Z
         handler_name    : VideoHandler
       Stream #0:1(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1920x1080, q=2-31, 171 kb/s, 23.97 fps, 23.97 tbr, 24k tbn, 23.98 tbc (default)
       Metadata:
         creation_time   : 2012-08-24T03:04:15.000000Z
         handler_name    : VideoHandler
       Stream #0:2(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 13 kb/s (default)
       Metadata:
         creation_time   : 2012-08-27T00:59:44.000000Z
         handler_name    : SoundHandler
    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
     Stream #1:0 -> #0:1 (copy)
     Stream #2:0 -> #0:2 (copy)
    Press [q] to stop, [?] for help
    [dash @ 0x55b464bb1240] Opening 'chunk-stream0-00001.m4s.tmp' for writing
    [dash @ 0x55b464bb1240] Opening 'chunk-stream1-00001.m4s.tmp' for writing
    [dash @ 0x55b464bb1240] Opening 'chunk-stream2-00001.m4s.tmp' for writing
    [mp4 @ 0x55b464c3d840] Application provided duration: -8 / timestamp: 119119 is out of range for mov/mp4 format
    [dash @ 0x55b464bb1240] Opening 'chunk-stream0-00002.m4s.tmp' for writing
    [dash @ 0x55b464bb1240] Non-monotonous DTS in output stream 0:1; previous: 119127, current: 119119; changing to 119128. This may result in incorrect timestamps in the output file.
    [dash @ 0x55b464bb1240] Opening 'out.mpd.tmp' for writing
    [mp4 @ 0x55b464c425c0] Application provided duration: -1000 / timestamp: 119128 is out of range for mov/mp4 format
    [dash @ 0x55b464bb1240] Opening 'chunk-stream1-00002.m4s.tmp' for writing
    [dash @ 0x55b464bb1240] Opening 'chunk-stream2-00002.m4s.tmp' for writing
    [mp4 @ 0x55b464c425c0] Application provided duration: -8 / timestamp: 120120 is out of range for mov/mp4 format
    [mp4 @ 0x55b464c425c0] pts has no value
    [mp4 @ 0x55b464c3d840] Application provided duration: -8 / timestamp: 239239 is out of range for mov/mp4 format
    [dash @ 0x55b464bb1240] Opening 'chunk-stream0-00003.m4s.tmp' for writing
    [dash @ 0x55b464bb1240] Opening 'chunk-stream2-00003.m4s.tmp' for writing
    [dash @ 0x55b464bb1240] Opening 'out.mpd.tmp' for writing74 bitrate=N/A speed=   1x    
    [mp4 @ 0x55b464c3d840] Application provided duration: -8 / timestamp: 359359 is out of range for mov/mp4 format
    [dash @ 0x55b464bb1240] Opening 'chunk-stream0-00004.m4s.tmp' for writing
    [mp4 @ 0x55b464c425c0] Application provided duration: -8 / timestamp: 359359 is out of range for mov/mp4 format
    [dash @ 0x55b464bb1240] Opening 'chunk-stream1-00003.m4s.tmp' for writing
    [dash @ 0x55b464bb1240] Opening 'chunk-stream2-00004.m4s.tmp' for writing
    [dash @ 0x55b464bb1240] Opening 'out.mpd.tmp' for writing81 bitrate=N/A speed=   1x    
    [mp4 @ 0x55b464c3d840] Application provided duration: -8 / timestamp: 479479 is out of range for mov/mp4 format
    [dash @ 0x55b464bb1240] Opening 'chunk-stream0-00005.m4s.tmp' for writing
    [mp4 @ 0x55b464c425c0] Application provided duration: -8 / timestamp: 479479 is out of range for mov/mp4 format
    [dash @ 0x55b464bb1240] Opening 'chunk-stream1-00004.m4s.tmp' for writing
    [dash @ 0x55b464bb1240] Opening 'chunk-stream2-00005.m4s.tmp' for writing
    [dash @ 0x55b464bb1240] Opening 'out.mpd.tmp' for writing86 bitrate=N/A speed=   1x    
    [mp4 @ 0x55b464c3d840] Application provided duration: -8 / timestamp: 599599 is out of range for mov/mp4 format
    [dash @ 0x55b464bb1240] Opening 'chunk-stream0-00006.m4s.tmp' for writing
    [mp4 @ 0x55b464c425c0] Application provided duration: -8 / timestamp: 599599 is out of range for mov/mp4 format
    [dash @ 0x55b464bb1240] Opening 'chunk-stream1-00005.m4s.tmp' for writing
    [dash @ 0x55b464bb1240] Opening 'chunk-stream2-00006.m4s.tmp' for writing
    [dash @ 0x55b464bb1240] Opening 'out.mpd.tmp' for writing95 bitrate=N/A speed=   1x    
    [mp4 @ 0x55b464c3d840] Application provided duration: -8 / timestamp: 719719 is out of range for mov/mp4 format
    [dash @ 0x55b464bb1240] Opening 'chunk-stream0-00007.m4s.tmp' for writing
    [mp4 @ 0x55b464c425c0] Application provided duration: -8 / timestamp: 719719 is out of range for mov/mp4 format
    [dash @ 0x55b464bb1240] Opening 'chunk-stream1-00006.m4s.tmp' for writing
    [dash @ 0x55b464bb1240] Opening 'chunk-stream2-00007.m4s.tmp' for writing
    [dash @ 0x55b464bb1240] Opening 'out.mpd.tmp' for writing53 bitrate=N/A speed=   1x    
    [mp4 @ 0x55b464c3d840] Application provided duration: -8 / timestamp: 839839 is out of range for mov/mp4 format
    [dash @ 0x55b464bb1240] Opening 'chunk-stream0-00008.m4s.tmp' for writing
    [mp4 @ 0x55b464c425c0] Application provided duration: -8 / timestamp: 839839 is out of range for mov/mp4 format
    [dash @ 0x55b464bb1240] Opening 'chunk-stream1-00007.m4s.tmp' for writing
    [dash @ 0x55b464bb1240] Opening 'chunk-stream2-00008.m4s.tmp' for writing
    [dash @ 0x55b464bb1240] Opening 'out.mpd.tmp' for writing59 bitrate=N/A speed=   1x    
    [mp4 @ 0x55b464c3d840] Application provided duration: -8 / timestamp: 959959 is out of range for mov/mp4 format
    [dash @ 0x55b464bb1240] Opening 'chunk-stream0-00009.m4s.tmp' for writing
    [mp4 @ 0x55b464c425c0] Application provided duration: -8 / timestamp: 959959 is out of range for mov/mp4 format
    [dash @ 0x55b464bb1240] Opening 'chunk-stream1-00008.m4s.tmp' for writing
    [dash @ 0x55b464bb1240] Opening 'chunk-stream2-00009.m4s.tmp' for writing
    [dash @ 0x55b464bb1240] Opening 'out.mpd.tmp' for writing66 bitrate=N/A speed=   1x    
    [mp4 @ 0x55b464c3d840] Application provided duration: -8 / timestamp: 1080079 is out of range for mov/mp4 format
    [dash @ 0x55b464bb1240] Opening 'chunk-stream0-00010.m4s.tmp' for writing
    [mp4 @ 0x55b464c425c0] Application provided duration: -8 / timestamp: 1080079 is out of range for mov/mp4 format
    [dash @ 0x55b464bb1240] Opening 'chunk-stream1-00009.m4s.tmp' for writing
    [dash @ 0x55b464bb1240] Opening 'chunk-stream2-00010.m4s.tmp' for writing
    [dash @ 0x55b464bb1240] Opening 'out.mpd.tmp' for writing73 bitrate=N/A speed=   1x    
    [mp4 @ 0x55b464c3d840] Application provided duration: -8 / timestamp: 1200199 is out of range for mov/mp4 format
    [dash @ 0x55b464bb1240] Opening 'chunk-stream0-00011.m4s.tmp' for writing
    [mp4 @ 0x55b464c425c0] Application provided duration: -8 / timestamp: 1200199 is out of range for mov/mp4 format
    [dash @ 0x55b464bb1240] Opening 'chunk-stream1-00010.m4s.tmp' for writing
    [dash @ 0x55b464bb1240] Opening 'chunk-stream2-00011.m4s.tmp' for writing
    [dash @ 0x55b464bb1240] Opening 'out.mpd.tmp' for writing82 bitrate=N/A speed=   1x    
    [mp4 @ 0x55b464c3d840] Application provided duration: -8 / timestamp: 1320319 is out of range for mov/mp4 format
    [dash @ 0x55b464bb1240] Opening 'chunk-stream0-00012.m4s.tmp' for writing
    [mp4 @ 0x55b464c425c0] Application provided duration: -8 / timestamp: 1320319 is out of range for mov/mp4 format
    [dash @ 0x55b464bb1240] Opening 'chunk-stream1-00011.m4s.tmp' for writing
    [dash @ 0x55b464bb1240] Opening 'chunk-stream2-00012.m4s.tmp' for writing
    [dash @ 0x55b464bb1240] Opening 'out.mpd.tmp' for writing90 bitrate=N/A speed=   1x    
    ...
       [mp4 @ 0x55b464c425c0] Application provided duration: -8 / timestamp: 3962959 is out of range for mov/mp4 format
       [dash @ 0x55b464bb1240] Opening 'chunk-stream1-00033.m4s.tmp' for writing
       [dash @ 0x55b464bb1240] Opening 'chunk-stream2-00034.m4s.tmp' for writing
       [dash @ 0x55b464bb1240] Opening 'out.mpd.tmp' for writing06 bitrate=N/A speed=   1x    
       [mp4 @ 0x55b464c3d840] Application provided duration: -8 / timestamp: 4083079 is out of range for mov/mp4 format
       [dash @ 0x55b464bb1240] Opening 'chunk-stream0-00035.m4s.tmp' for writing
       [mp4 @ 0x55b464c425c0] Application provided duration: -8 / timestamp: 4083079 is out of range for mov/mp4 format
       [dash @ 0x55b464bb1240] Opening 'chunk-stream1-00034.m4s.tmp' for writing
       [dash @ 0x55b464bb1240] Opening 'chunk-stream2-00035.m4s.tmp' for writing
       [dash @ 0x55b464bb1240] Opening 'out.mpd.tmp' for writing10 bitrate=N/A speed=   1x    
       [mp4 @ 0x55b464c3d840] Application provided duration: -8 / timestamp: 4203199 is out of range for mov/mp4 format
       [dash @ 0x55b464bb1240] Opening 'chunk-stream0-00036.m4s.tmp' for writing
       [mp4 @ 0x55b464c425c0] Application provided duration: -8 / timestamp: 4203199 is out of range for mov/mp4 format
       [dash @ 0x55b464bb1240] Opening 'chunk-stream1-00035.m4s.tmp' for writing
       [dash @ 0x55b464bb1240] Opening 'chunk-stream2-00036.m4s.tmp' for writing
       [dash @ 0x55b464bb1240] Opening 'out.mpd.tmp' for writing67 bitrate=N/A speed=   1x    
       [mp4 @ 0x55b464c3d840] Application provided duration: -8 / timestamp: 4323319 is out of range for mov/mp4 format
       [dash @ 0x55b464bb1240] Opening 'chunk-stream0-00037.m4s.tmp' for writing
       [mp4 @ 0x55b464c425c0] Application provided duration: -8 / timestamp: 4323319 is out of range for mov/mp4 format
       [dash @ 0x55b464bb1240] Opening 'chunk-stream1-00036.m4s.tmp' for writing
       [dash @ 0x55b464bb1240] Opening 'chunk-stream2-00037.m4s.tmp' for writing
       [dash @ 0x55b464bb1240] Opening 'out.mpd.tmp' for writing18 bitrate=N/A speed=   1x    
       frame= 4350 fps= 24 q=-1.0 Lq=-1.0 size=N/A time=00:03:01.55 bitrate=N/A speed=   1x    
       video:138926kB audio:5621kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
  • ffmpeg encoded hls makes audio and video progressively out of sync

    21 septembre 2020, par eschie

    When trying to encoding a source .mp4 to multiple bitrates and sizes for adaptive HLSv3 playback the resulting audio and video become progressively out of sync. When scrubbing to a later point it seems to reset, and stay in sync.

    &#xA;&#xA;

    I'm on the latest ffmpeg 4.2.1 via homebrew-ffmpeg, with the libfdk-aac codec. Note, this was also occurring with ffmpeg 4.1.

    &#xA;&#xA;

    ffmpeg version 4.2.1 Copyright (c) 2000-2019 the FFmpeg developers&#xA;  built with Apple LLVM version 9.0.0 (clang-900.0.39.2)&#xA;  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.2.1-with-options_1 --enable-shared --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libaom --enable-libmp3lame --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --disable-libjack --disable-indev=jack --enable-opencl --enable-videotoolbox --disable-htmlpages --enable-libfdk-aac --enable-nonfree&#xA;  libavutil      56. 31.100 / 56. 31.100&#xA;  libavcodec     58. 54.100 / 58. 54.100&#xA;  libavformat    58. 29.100 / 58. 29.100&#xA;  libavdevice    58.  8.100 / 58.  8.100&#xA;  libavfilter     7. 57.100 /  7. 57.100&#xA;  libswscale      5.  5.100 /  5.  5.100&#xA;  libswresample   3.  5.100 /  3.  5.100&#xA;  libpostproc    55.  5.100 / 55.  5.100&#xA;

    &#xA;&#xA;

    The audio and video streams are marginally off, would that cause this problem ?

    &#xA;&#xA;

    ffprobe -v error -select_streams v:0 -show_entries stream=duration -of default=noprint_wrappers=1:nokey=1 INPUT_FILE.mp4&#xA;80.480400

    &#xA;&#xA;

    ffprobe -v error -select_streams a:0 -show_entries stream=duration -of default=noprint_wrappers=1:nokey=1 INPUT_FILE.mp4&#xA;80.469333

    &#xA;&#xA;

    Here is some metadata on the source file :

    &#xA;&#xA;

    General&#xA;Complete name                            : INPUT_VIDEO.mp4&#xA;Format                                   : MPEG-4&#xA;Format profile                           : Base Media / Version 2&#xA;Codec ID                                 : mp42 (mp42/mp41)&#xA;File size                                : 236 MiB&#xA;Duration                                 : 1 min 21 s&#xA;Overall bit rate mode                    : Variable&#xA;Overall bit rate                         : 24.2 Mb/s&#xA;Encoded date                             : UTC 2019-08-27 22:13:53&#xA;Tagged date                              : UTC 2019-08-27 22:15:15&#xA;TIM                                      : 00;00;00;00&#xA;TSC                                      : 30000&#xA;TSZ                                      : 1001&#xA;&#xA;Video&#xA;ID                                       : 1&#xA;Format                                   : AVC&#xA;Format/Info                              : Advanced Video Codec&#xA;Format profile                           : Main@L4.1&#xA;Format settings                          : CABAC / 2 Ref Frames&#xA;Format settings, CABAC                   : Yes&#xA;Format settings, Reference frames        : 2 frames&#xA;Codec ID                                 : avc1&#xA;Codec ID/Info                            : Advanced Video Coding&#xA;Duration                                 : 1 min 21 s&#xA;Bit rate mode                            : Variable&#xA;Bit rate                                 : 23.8 Mb/s&#xA;Maximum bit rate                         : 768 kb/s&#xA;Width                                    : 1 920 pixels&#xA;Height                                   : 1 080 pixels&#xA;Display aspect ratio                     : 16:9&#xA;Frame rate mode                          : Constant&#xA;Frame rate                               : 29.970 (30000/1001) FPS&#xA;Color space                              : YUV&#xA;Chroma subsampling                       : 4:2:0&#xA;Bit depth                                : 8 bits&#xA;Scan type                                : Progressive&#xA;Bits/(Pixel*Frame)                       : 0.383&#xA;Stream size                              : 233 MiB (99%)&#xA;Language                                 : English&#xA;Encoded date                             : UTC 2019-08-27 22:13:53&#xA;Tagged date                              : UTC 2019-08-27 22:13:53&#xA;Color range                              : Limited&#xA;Color primaries                          : BT.709&#xA;Transfer characteristics                 : BT.709&#xA;Matrix coefficients                      : BT.709&#xA;Codec configuration box                  : avcC&#xA;&#xA;Audio&#xA;ID                                       : 2&#xA;Format                                   : AAC LC&#xA;Format/Info                              : Advanced Audio Codec Low Complexity&#xA;Codec ID                                 : mp4a-40-2&#xA;Duration                                 : 1 min 21 s&#xA;Source duration                          : 1 min 21 s&#xA;Bit rate mode                            : Constant&#xA;Bit rate                                 : 317 kb/s&#xA;Channel(s)                               : 2 channels&#xA;Channel layout                           : L R&#xA;Sampling rate                            : 48.0 kHz&#xA;Frame rate                               : 46.875 FPS (1024 SPF)&#xA;Compression mode                         : Lossy&#xA;Stream size                              : 3.10 MiB (1%)&#xA;Source stream size                       : 3.10 MiB (1%)&#xA;Language                                 : English&#xA;Encoded date                             : UTC 2019-08-27 22:13:53&#xA;Tagged date                              : UTC 2019-08-27 22:13:53&#xA;

    &#xA;&#xA;

    And the encoding command :

    &#xA;&#xA;

    ffmpeg \&#xA;-i INPUT_VIDEO \&#xA;-dn \&#xA;-sn \&#xA;-filter_complex \&#xA;"[0:v]fps=fps=24000/1001, \&#xA;setpts=(PTS-STARTPTS), \&#xA;split=12[vsplit1][vsplit2][vsplit3][vsplit4][vsplit5][vsplit6][vsplit7][vsplit8][vsplit9][vsplit10][vsplit11][vsplit12]; \&#xA;[vsplit1]scale=-1:1080[video_1080_4.1]; \&#xA;[vsplit2]scale=-1:720[video_720_4.1]; \&#xA;[vsplit3]scale=-1:720[video_720_3.1]; \&#xA;[vsplit4]scale=-1:540[video_540_3.1]; \&#xA;[vsplit5]scale=-1:432[video_432_3.1]; \&#xA;[vsplit6]scale=-1:270[video_270_3.0]; \&#xA;[vsplit7]scale=-1:270[video_270_3.1]; \&#xA;[vsplit8]scale=-1:144[video_144_4.1]; \&#xA;[vsplit9]scale=-1:144[video_144_3.0]; \&#xA;[vsplit10]scale=1920:1080[base_1080]; \&#xA;[vsplit11]scale=1280:720[base_720]; \&#xA;[vsplit12]scale=640:360[base_360]" \&#xA;\&#xA;-map "[video_1080_4.1]" \&#xA;-r:v:0 "24000/1001" \&#xA;-c:v:0 "libx264" \&#xA;-x264-params:0 "keyint=144:min-keyint=144:scenecut=0:open_gop=0" \&#xA;-preset:v:0 "slow" \&#xA;-profile:v:0 "high" \&#xA;-level:v:0 "4.1" \&#xA;-refs:v:0 "2" \&#xA;-b-pyramid:v:0 "strict" \&#xA;-tune:v:0 "film" \&#xA;-b:v:0 "4800000" \&#xA;-maxrate:v:0 "4800000" \&#xA;-bufsize:v:0 "6*4800000/8" \&#xA;-vsync:v:0 "cfr" \&#xA;-bsf:v:0 "h264_metadata=fixed_frame_rate_flag=1" \&#xA;\&#xA;-map "[video_720_4.1]" \&#xA;-r:v:1 "24000/1001" \&#xA;-c:v:1 "libx264" \&#xA;-x264-params:1 "keyint=144:min-keyint=144:scenecut=0:open_gop=0" \&#xA;-preset:v:1 "slow" \&#xA;-profile:v:1 "main" \&#xA;-level:v:1 "4.1" \&#xA;-refs:v:1 "2" \&#xA;-b-pyramid:v:1 "strict" \&#xA;-tune:v:1 "film" \&#xA;-b:v:1 "3200000" \&#xA;-maxrate:v:1 "3200000" \&#xA;-bufsize:v:1 "6*3200000/8" \&#xA;-vsync:v:1 "cfr" \&#xA;-bsf:v:1 "h264_metadata=fixed_frame_rate_flag=1" \&#xA;\&#xA;-map "[video_720_3.1]" \&#xA;-r:v:2 "24000/1001" \&#xA;-c:v:2 "libx264" \&#xA;-x264-params:2 "keyint=144:min-keyint=144:scenecut=0:open_gop=0" \&#xA;-preset:v:2 "slow" \&#xA;-profile:v:2 "main" \&#xA;-level:v:2 "3.1" \&#xA;-refs:v:2 "2" \&#xA;-b-pyramid:v:2 "strict" \&#xA;-tune:v:2 "film" \&#xA;-b:v:2 "2200000" \&#xA;-maxrate:v:2 "2200000" \&#xA;-bufsize:v:2 "6*2200000/8" \&#xA;-vsync:v:2 "cfr" \&#xA;-bsf:v:2 "h264_metadata=fixed_frame_rate_flag=1" \&#xA;\&#xA;-map "[video_540_3.1]" \&#xA;-r:v:3 "24000/1001" \&#xA;-c:v:3 "libx264" \&#xA;-x264-params:3 "keyint=144:min-keyint=144:scenecut=0:open_gop=0" \&#xA;-preset:v:3 "slow" \&#xA;-profile:v:3 "main" \&#xA;-level:v:3 "3.1" \&#xA;-refs:v:3 "2" \&#xA;-b-pyramid:v:3 "strict" \&#xA;-tune:v:3 "film" \&#xA;-b:v:3 "1400000" \&#xA;-maxrate:v:3 "1400000" \&#xA;-bufsize:v:3 "6*1400000/8" \&#xA;-vsync:v:3 "cfr" \&#xA;-bsf:v:3 "h264_metadata=fixed_frame_rate_flag=1" \&#xA;\&#xA;-map "[video_432_3.1]" \&#xA;-r:v:4 "24000/1001" \&#xA;-c:v:4 "libx264" \&#xA;-x264-params:4 "keyint=144:min-keyint=144:scenecut=0:open_gop=0" \&#xA;-preset:v:4 "slow" \&#xA;-profile:v:4 "main" \&#xA;-level:v:4 "3.1" \&#xA;-refs:v:4 "2" \&#xA;-b-pyramid:v:4 "strict" \&#xA;-tune:v:4 "film" \&#xA;-b:v:4 "900000" \&#xA;-maxrate:v:4 "900000" \&#xA;-bufsize:v:4 "6*900000/8" \&#xA;-vsync:v:4 "cfr" \&#xA;-bsf:v:4 "h264_metadata=fixed_frame_rate_flag=1" \&#xA;\&#xA;-map "[video_270_3.0]" \&#xA;-r:v:5 "24000/1001" \&#xA;-c:v:5 "libx264" \&#xA;-x264-params:5 "keyint=144:min-keyint=144:scenecut=0:open_gop=0" \&#xA;-preset:v:5 "slow" \&#xA;-profile:v:5 "baseline" \&#xA;-level:v:5 "3.0" \&#xA;-refs:v:5 "2" \&#xA;-b-pyramid:v:5 "strict" \&#xA;-tune:v:5 "film" \&#xA;-b:v:5 "400000" \&#xA;-maxrate:v:5 "400000" \&#xA;-bufsize:v:5 "6*400000/8" \&#xA;-vsync:v:5 "cfr" \&#xA;-bsf:v:5 "h264_metadata=fixed_frame_rate_flag=1" \&#xA;\&#xA;-map "[video_270_3.1]" \&#xA;-r:v:6 "24000/1001" \&#xA;-c:v:6 "libx264" \&#xA;-x264-params:6 "keyint=144:min-keyint=144:scenecut=0:open_gop=0" \&#xA;-preset:v:6 "slow" \&#xA;-profile:v:6 "main" \&#xA;-level:v:6 "3.1" \&#xA;-refs:v:6 "2" \&#xA;-b-pyramid:v:6 "strict" \&#xA;-tune:v:6 "film" \&#xA;-b:v:6 "200000" \&#xA;-maxrate:v:6 "200000" \&#xA;-bufsize:v:6 "6*200000/8" \&#xA;-vsync:v:6 "cfr" \&#xA;-bsf:v:6 "h264_metadata=fixed_frame_rate_flag=1" \&#xA;\&#xA;-map "[video_144_4.1]" \&#xA;-r:v:7 "24000/1001" \&#xA;-c:v:7 "libx264" \&#xA;-x264-params:7 "keyint=144:min-keyint=144:scenecut=0:open_gop=0" \&#xA;-preset:v:7 "slow" \&#xA;-profile:v:7 "high" \&#xA;-level:v:7 "4.1" \&#xA;-refs:v:7 "2" \&#xA;-b-pyramid:v:7 "strict" \&#xA;-tune:v:7 "film" \&#xA;-b:v:7 "64000" \&#xA;-maxrate:v:7 "64000" \&#xA;-bufsize:v:7 "6*64000/8" \&#xA;-vsync:v:7 "cfr" \&#xA;-bsf:v:7 "h264_metadata=fixed_frame_rate_flag=1" \&#xA;\&#xA;-map "[video_144_3.0]" \&#xA;-r:v:8 "24000/1001" \&#xA;-c:v:8 "libx264" \&#xA;-x264-params:8 "keyint=144:min-keyint=144:scenecut=0:open_gop=0" \&#xA;-preset:v:8 "slow" \&#xA;-profile:v:8 "baseline" \&#xA;-level:v:8 "3.0" \&#xA;-refs:v:8 "2" \&#xA;-b-pyramid:v:8 "strict" \&#xA;-tune:v:8 "film" \&#xA;-b:v:8 "56000" \&#xA;-maxrate:v:8 "56000" \&#xA;-bufsize:v:8 "6*56000/8" \&#xA;-vsync:v:8 "cfr" \&#xA;-bsf:v:8 "h264_metadata=fixed_frame_rate_flag=1" \&#xA;\&#xA;-map "[base_1080]" \&#xA;-c:v:9 "libx264" \&#xA;-preset:v:9 "slow" \&#xA;\&#xA;-map "[base_720]" \&#xA;-c:v:10 "libx264" \&#xA;-preset:v:10 "slow" \&#xA;\&#xA;-map "[base_360]" \&#xA;-c:v:11 "libx264" \&#xA;-preset:v:11 "slow" \&#xA;\&#xA;-map a:0 -map a:0 -map a:0 -map a:0 -map a:0 -map a:0 -map a:0 -map a:0 -map a:0 -map a:0 -map a:0 -map a:0 \&#xA;-c:a "libfdk_aac" \&#xA;-ar "48000" \&#xA;-ab "128k" \&#xA;-af "aresample=async=1:min_hard_comp=0.100000:first_pts=0" \&#xA;\&#xA;-f tee \&#xA;-flags &#x2B;global_header \&#xA;"[select=\&#x27;v:0,a:0,v:1,a:1,v:2,a:2,v:3,a:3,v:4,a:4,v:5,a:5,v:6,a:6,v:7,a:7,v:8,a:8\&#x27;:f=hls:hls_flags=discont_start&#x2B;temp_file:hls_time=6:hls_list_size=0:var_stream_map=\&#x27;v:0,a:0 v:1,a:1 v:2,a:2 v:3,a:3 v:4,a:4 v:5,a:5 v:6,a:6 v:7,a:7 v:8,a:8\&#x27;:master_pl_name=playlist.m3u8:hls_segment_filename=INPUT_VIDEO__%v_%03d.ts]INPUT_VIDEO/out_%v.m3u8|[select=\&#x27;v:9,a:9\&#x27;:f=mp4:movflags=&#x2B;faststart]INPUT_VIDEO/large-1920-1080.mp4|[select=\&#x27;v:10,a:10\&#x27;:f=mp4:movflags=&#x2B;faststart]INPUT_VIDEO/med-1280-720.mp4|[select=\&#x27;v:11,a:11\&#x27;:f=mp4:movflags=&#x2B;faststart]INPUT_VIDEO/sm-640-360.mp4"&#xA;

    &#xA;

  • Only '-vf scale.....' read, ignoring remaining -vf options : Use ',' to separate filters even though no other vf present

    24 septembre 2019, par Vitalis Hommel

    I am using

    ffmpeg -y -ss 00:02:24.643 -fflags +igndts -t 00:00:39.337 -i 1.mp4 -r 60 -c:v libx264 -copytb 1 -vf scale=-2:1080,pad=width=1920:height=1080:x=0:y=656:color=black -af afade=t=in:ss=0:d=1,afade=t=out:st='00\:00\:38.337':d=1 2.mp4

    and I get

    Only '-vf scale=-2:1080,pad=width=1920:height=1080:x=0:y=656:color=black' read, ignoring remaining -vf options: Use ',' to separate filters
    Only '-af afade=t=in:ss=0:d=1,afade=t=out:st='00\:00\:38.337':d=1' read, ignoring remaining -af options: Use ',' to separate filters

    How to solve this ?