Recherche avancée

Médias (0)

Mot : - Tags -/organisation

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

Autres articles (38)

  • Contribute to documentation

    13 avril 2011

    Documentation is vital to the development of improved technical capabilities.
    MediaSPIP welcomes documentation by users as well as developers - including : critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
    To contribute, register to the project users’ mailing (...)

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

  • Selection of projects using MediaSPIP

    2 mai 2011, par

    The examples below are representative elements of MediaSPIP specific uses for specific projects.
    MediaSPIP farm @ Infini
    The non profit organizationInfini develops hospitality activities, internet access point, training, realizing innovative projects in the field of information and communication technologies and Communication, and hosting of websites. It plays a unique and prominent role in the Brest (France) area, at the national level, among the half-dozen such association. Its members (...)

Sur d’autres sites (5483)

  • How to embed subtitles to .mp4 movie using ffmpeg

    25 novembre 2016, par hudac

    I’m trying to embed subtitles I wrote to a movie I created.
    I’m using FFmpeg version : ffmpeg-20150418-git-edbb9b5-win64-static with the command :
    ffmpeg -i in.mp4 -f srt -i subs.srt -c:v copy -c:a copy -c:s mov_text out.mp4 I saw here.

    But I get errors during the process, and when the process is done there’s an output file out.mp4 without subtitles embedded.
    When I play the in.mp4 in some player such as media player classic with the subtitles separately, the subtitles are sync and everything is fine.

    The subtitles are subrip encoded in UTF8.

    I tried to look out for these errors but didn’t find anything useful. it seems something ridiculous.
    What am I doing wrong ?

    Errors such as :

    [mp4 @ 00000000003fe020] Codec for stream 0 does not use global headers but container format requires global headers
    [mp4 @ 00000000003fe020] Codec for stream 1 does not use global headers but container format requires global headers
    [mp4 @ 00000000003fe020] Application provided duration: -8 / timestamp: 72205 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value

    Movie details from Media info :

    Video  
    ID: 1  
    Format: AVC  
    Format/Info: Advanced Video Codec  
    Format profile: Main@L4.2  
    Format settings, CABAC: Yes  
    Format settings, ReFrames: 3 frames  
    Format settings, GOP: M=4, N=24  
    Codec ID: avc1  
    Codec ID/Info: Advanced Video Coding  
    Duration: 8mn 32s  
    Source duration: 8mn 32s  
    Bit rate: 23.4 Mbps  
    Width: 1920 pixels  
    Height: 1080 pixels  
    Display aspect ratio: 16:9  
    Original display aspect ratio: 2.2:1  
    Frame rate mode: Variable  
    Frame rate: 23.976 fps  
    Minimum frame rate: 23.976 fps  
    Maximum frame rate: 24.000 fps  
    Standard: NTSC  
    Color space: YUV  
    Chroma subsampling: 4:2:0  
    Bit depth: 8 bits  
    Scan type: Progressive  
    Bits/(Pixel*Frame): 0.472  
    Stream size: 1.40 GiB (99%)  
    Source stream size: 1.40 GiB (99%)  
    Language: English  
    Encoded date: UTC 2015-04-28 20:31:41  
    Tagged date: UTC 2015-04-28 20:31:41  
    mdhd_Duration: 512137  

    Ffmpeg command output :

    ffmpeg version N-71497-gedbb9b5 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 --enab
    le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-l
    ibilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --en
    able-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 --ena
    ble-decklink --enable-zlib
     libavutil      54. 22.101 / 54. 22.101
     libavcodec     56. 34.100 / 56. 34.100
     libavformat    56. 30.100 / 56. 30.100
     libavdevice    56.  4.100 / 56.  4.100
     libavfilter     5. 14.100 /  5. 14.100
     libswscale      3.  1.101 /  3.  1.101
     libswresample   1.  1.100 /  1.  1.100
     libpostproc    53.  3.100 / 53.  3.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'in.mp4':
     Metadata:
       major_brand     : mp42
       minor_version   : 0
       compatible_brands: mp42mp41
       creation_time   : 2015-04-28 20:31:41
     Duration: 00:08:32.17, start: 0.000000, bitrate: 23640 kb/s
       Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv), 1920x1080 [SAR 40:33 DAR 640:297], 23444 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 t
    bc (default)
       Metadata:
         creation_time   : 2015-04-28 20:31:41
         handler_name    : ?Mainconcept Video Media Handler
         encoder         : AVC Coding
       Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 189 kb/s (default)
       Metadata:
         creation_time   : 2015-04-28 20:31:41
         handler_name    : #Mainconcept MP4 Sound Media Handler
    Input #1, srt, from 'subs.srt':
     Duration: N/A, bitrate: N/A
       Stream #1:0: Subtitle: subrip
    [mp4 @ 00000000003fe020] Codec for stream 0 does not use global headers but container format requires global headers
    [mp4 @ 00000000003fe020] Codec for stream 1 does not use global headers but container format requires global headers
    Output #0, mp4, to 'out.mp4':
     Metadata:
       major_brand     : mp42
       minor_version   : 0
       compatible_brands: mp42mp41
       encoder         : Lavf56.30.100
       Stream #0:0(eng): Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 1920x1080 [SAR 40:33 DAR 640:297], q=2-31, 23444 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 24k t
    bc (default)
       Metadata:
         creation_time   : 2015-04-28 20:31:41
         handler_name    : ?Mainconcept Video Media Handler
         encoder         : AVC Coding
       Stream #0:1(eng): Audio: aac ([64][0][0][0] / 0x0040), 48000 Hz, stereo, 189 kb/s (default)
       Metadata:
         creation_time   : 2015-04-28 20:31:41
         handler_name    : #Mainconcept MP4 Sound Media Handler
       Stream #0:2: Subtitle: mov_text ([8][0][0][0] / 0x0008)
       Metadata:
         encoder         : Lavc56.34.100 mov_text
    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
     Stream #0:1 -> #0:1 (copy)
     Stream #1:0 -> #0:2 (subrip (srt) -> mov_text (native))
    Press [q] to stop, [?] for help
    [mp4 @ 00000000003fe020] Application provided duration: -8 / timestamp: 72205 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -7 / timestamp: 74217 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -8 / timestamp: 76267 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -4 / timestamp: 77872 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -7 / timestamp: 79260 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -1 / timestamp: 88987 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -60 / timestamp: 91489 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -4 / timestamp: 108080 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -1 / timestamp: 112974 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -8 / timestamp: 115528 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -9 / timestamp: 122758 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -6 / timestamp: 124862 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -12 / timestamp: 130307 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -140 / timestamp: 150079 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -144 / timestamp: 156606 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -245 / timestamp: 158916 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -6 / timestamp: 231587 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -1 / timestamp: 234743 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -9 / timestamp: 239406 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -6 / timestamp: 242670 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -4 / timestamp: 249833 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -9 / timestamp: 252669 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -6 / timestamp: 257713 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -2 / timestamp: 272866 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -152 / timestamp: 276417 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -3 / timestamp: 290209 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -6 / timestamp: 302825 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -6 / timestamp: 305466 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -3 / timestamp: 314151 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -8 / timestamp: 315957 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -1 / timestamp: 322568 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -164 / timestamp: 333373 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -3 / timestamp: 379341 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -5 / timestamp: 385070 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -7 / timestamp: 396166 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -7 / timestamp: 402007 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -4 / timestamp: 404571 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -2 / timestamp: 418218 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -5 / timestamp: 428136 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -5 / timestamp: 433347 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -4 / timestamp: 438939 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -7 / timestamp: 445657 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -6 / timestamp: 449039 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -6 / timestamp: 451870 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    [mp4 @ 00000000003fe020] Application provided duration: -5 / timestamp: 456582 is out of range for mov/mp4 format
    [mp4 @ 00000000003fe020] pts has no value
    frame=12279 fps=138 q=-1.0 Lsize= 1477815kB time=00:08:32.16 bitrate=23637.2kbits/s
    video:1465658kB audio:11840kB subtitle:8kB other streams:0kB global headers:0kB muxing overhead: 0.020907%
  • Non-monotonous DTS in output for audio stream using ffmpeg concat

    24 mai 2015, par Apollo Marquis

    This was asked in FFMPEG - Non-Monotonous DTS on concat. But the poster simply opted for MP4Box after getting no reply. However, I would like to stick with ffmpeg which I think is quicker.

    I am concatenating files from a text file list of mp4 files that have been encoded at the same time using the same codecs so there should be no incompatibility between the files.

    I am not even sure what Non-monotonous DTS is (anyone ?) but I am worried it may produce some glitches in the concatenated files. They seem ok but there is some evidence of artefacts in the sound. Can I tweak my command line to get rid of this error, and will it speed up the concatenation process ?
    I am using Python subprocess call and the file passed into this function is the list of files. The function decorator is just a timer function for profiling.
    I have tried this with my system ffmpeg not just the static build, and it has the same problem.

    @fn_timer
    def concat(file):
       proc = call(['/opt/jane_ng/jane_nodejs/ffmpeg-git-20150308-64bit-static/ffmpeg', '-f', 'concat', '-i', file, '-c', 'copy', '-y', 'testConcat.mp4'])

    When I run this, I get the following output :

    ffmpeg version N-45007-g9d7e42e-   http://johnvansickle.com/ffmpeg/    Copyright (c) 2000-2015 the FFmpeg developers
     built with gcc 4.9.2 (Debian 4.9.2-10)
     configuration: --enable-gpl --enable-version3 --disable-shared --disable-debug --enable-runtime-cpudetect --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --enable-libass --enable-gnutls --enable-libvidstab --cc=gcc-4.9
     libavutil      54. 20.100 / 54. 20.100
     libavcodec     56. 26.100 / 56. 26.100
     libavformat    56. 25.101 / 56. 25.101
     libavdevice    56.  4.100 / 56.  4.100
     libavfilter     5. 12.100 /  5. 12.100
     libswscale      3.  1.101 /  3.  1.101
     libswresample   1.  1.100 /  1.  1.100
     libpostproc    53.  3.100 / 53.  3.100
    [concat @ 0x31bdd80] Could not find codec parameters for stream 2 (Unknown: none): unknown codec
    Consider increasing the value for the 'analyzeduration' and 'probesize' options
    Input #0, concat, from '/opt/combinatoria/generator/concatFiles/concat.txt':
     Duration: N/A, start: 0.000000, bitrate: 1625 kb/s
       Stream #0:0: Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv), 960x540 [SAR 1:1 DAR 16:9], 1561 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
       Stream #0:1: Audio: aac (HE-AAC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 64 kb/s
       Stream #0:2: Unknown: none
    Output #0, mp4, to 'testConcat.mp4':
     Metadata:
       encoder         : Lavf56.25.101
       Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 960x540 [SAR 1:1 DAR 16:9], q=2-31, 1561 kb/s, 25 fps, 25 tbr, 90k tbn, 90k tbc
       Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, stereo, 64 kb/s
    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
     Stream #0:1 -> #0:1 (copy)
    Press [q] to stop, [?] for help
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 253952, current: 250488; changing to 253953. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 253953, current: 252536; changing to 253954. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 754296, current: 751464; changing to 754297. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 754297, current: 753512; changing to 754298. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 974696, current: 971964; changing to 974697. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 974697, current: 974012; changing to 974698. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 1340604, current: 1337112; changing to 1340605. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 1340605, current: 1339160; changing to 1340606. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 1746712, current: 1742832; changing to 1746713. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 1746713, current: 1744880; changing to 1746714. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 2119664, current: 2116800; changing to 2119665. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 2119665, current: 2118848; changing to 2119666. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 2274496, current: 2272032; changing to 2274497. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 2274497, current: 2274080; changing to 2274498. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 2685728, current: 2683044; changing to 2685729. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 2685729, current: 2685092; changing to 2685730. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 2850980, current: 2847096; changing to 2850981. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 2850981, current: 2849144; changing to 2850982. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 3033464, current: 3030552; changing to 3033465. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 3033465, current: 3032600; changing to 3033466. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 3384856, current: 3381588; changing to 3384857. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 3384857, current: 3383636; changing to 3384858. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 3760468, current: 3757320; changing to 3760469. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 3760469, current: 3759368; changing to 3760470. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 3990792, current: 3988404; changing to 3990793. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 3990793, current: 3990452; changing to 3990794. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 4295604, current: 4291812; changing to 4295605. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 4295605, current: 4293860; changing to 4295606. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 4750564, current: 4746924; changing to 4750565. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 4750565, current: 4748972; changing to 4750566. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 5025452, current: 5022108; changing to 5025453. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 5025453, current: 5024156; changing to 5025454. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 5271964, current: 5269068; changing to 5271965. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 5271965, current: 5271116; changing to 5271966. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 5707340, current: 5704776; changing to 5707341. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 5707341, current: 5706824; changing to 5707342. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 6003784, current: 6001128; changing to 6003785. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 6003785, current: 6003176; changing to 6003786. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 6371816, current: 6368040; changing to 6371817. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 6371817, current: 6370088; changing to 6371818. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 6875944, current: 6872544; changing to 6875945. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 6875945, current: 6874592; changing to 6875946. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 7042528, current: 7040124; changing to 7042529. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 7042529, current: 7042172; changing to 7042530. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 7314556, current: 7311780; changing to 7314557. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 7314557, current: 7313828; changing to 7314558. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 7541156, current: 7537572; changing to 7541157. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 7541157, current: 7539620; changing to 7541158. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 7795620, current: 7791588; changing to 7795621. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 7795621, current: 7793636; changing to 7795622. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 8063972, current: 8059716; changing to 8063973. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 8063973, current: 8061764; changing to 8063974. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 8063974, current: 8063812; changing to 8063975. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 8350532, current: 8347248; changing to 8350533. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 8350533, current: 8349296; changing to 8350534. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 8656496, current: 8652420; changing to 8656497. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 8656497, current: 8654468; changing to 8656498. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 8902276, current: 8899380; changing to 8902277. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 8902277, current: 8901428; changing to 8902278. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 9159476, current: 9156924; changing to 9159477. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 9159477, current: 9158972; changing to 9159478. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 9468220, current: 9465624; changing to 9468221. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 9468221, current: 9467672; changing to 9468222. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 9748248, current: 9744336; changing to 9748249. This may result in incorrect timestamps in the output file.
    [mp4 @ 0x3255080] Non-monotonous DTS in output stream 0:1; previous: 9748249, current: 9746384; changing to 9748250. This may result in incorrect timestamps in the output file.
    frame= 5637 fps=0.0 q=-1.0 Lsize=   45617kB time=00:03:45.60 bitrate=1656.4kbits/s    
    video:43701kB audio:1792kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.272048%
    Total time running concat: 0.451297044754 seconds

    This process is absolutely key to my current project so any help or clarification would be really appreciated.

  • Using ffmpeg to combine small mp4 chunks ?

    20 mai 2015, par shiny formica

    I’m trying to convert batches of png images into a single mp4 x264 video using ffmpeg. The conversion, for reasons I won’t go into, converts groups of frames into short mp4 chunks and then I want to take those chunks and merge them into the final video at a specific fps (in this case 30fps).

    My understanding of ffmpeg and the x264 options is too limited, and while I can produce the individual mp4 chunks from the source png frames without trouble, the final merge always ends up duplicating and/or dropping frames especially with very short chunks (< 4 frames).

    The conversion from png to mp4 uses this command :

    ffmpeg -start_number 1001 -framerate 30 -f image2 -i 'intermediate.%d.png' -c:v libx264 -crf 1 -pix_fmt yuv420p -movflags +faststart -frames:v 4 -r 30 chunk.1.mp4 -y

    which appears to work as expected, I get a playable mp4 chunk of, in this case, 4 frames of the sequence of png images at 30fps. The length of each chunk can be anywhere from 1 frame to around 100 frames.

    When all the chunks are generated, I’ve been trying to use the concat demuxer to combine without re-encoding, placing all the source chunk paths in a file :

    concat.txt :

    file 'chunk.1.mp4'
    file 'chunk.2.mp4'
    file 'chunk.3.mp4'
    ...

    and then running this ffmpeg command :

    ffmpeg -f concat -i concat.txt -c:v copy merged.mp4 -y

    but it says this during the concatenation :

    [concat @ 0x315ff80] Estimating duration from bitrate, this may be inaccurate

    and the resulting mp4 has dropped/duplicated frames. So I tried adding duration info to the concat.txt file :

    file 'chunk.1.mp4'
    duration 0.133333
    file 'chunk.2.mp4'
    duration 0.133333
    file 'chunk.3.mp4'
    duration 0.066666

    in this case, two 4-frame/30fps chunks and one 2-frame/30fps chunk. Which gets rid of that estimation warning, but the result is still duplicating/dropping frames.

    I’m not sure where I’m going wrong here...what do I need to do either in the production of the short mp4 segments, or in the combination stage, to get a single mp4 at the right framerate with no duplicated or dropped frames ?

    As suggested, here’s the console output for the conversion from png->mp4 chunks :

    ffmpeg -loglevel verbose -start_number 1001 -framerate 30 -f image2 -i 'intermediate.%d.png' -c:v libx264 -crf 1 -pix_fmt yuv420p -movflags +faststart -frames:v 4 -r 30 chunk.1.mp4 -y
    ffmpeg version 2.5.4 Copyright (c) 2000-2015 the FFmpeg developers
     built on Feb 26 2015 10:23:42 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-3)
     configuration: --prefix=/dept/srd/vendor/ffmpeg/bundle.rhel6/ffmpeg2.5.4 --enable-static --enable-pthreads --enable-gpl --enable-version3 --disable-ffserver --disable-ffplay --disable-ffprobe --enable-x11grab --enable-nonfree --extra-cflags=-I/dept/srd/vendor/ffmpeg/extern/rhel6/include --extra-ldflags=-L/dept/srd/vendor/ffmpeg/extern/rhel6/lib --enable-libx264 --enable-fontconfig --enable-libfreetype --enable-swscale --enable-libmp3lame --enable-libfaac --disable-yasm
     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
     libswscale      3.  1.101 /  3.  1.101
     libswresample   1.  1.100 /  1.  1.100
     libpostproc    53.  3.100 / 53.  3.100
    Input #0, image2, from 'intermediate.%d.png':
     Duration: 00:00:00.27, start: 0.000000, bitrate: N/A
       Stream #0:0: Video: png, rgba, 1024x1024 (0x0), 30 fps, 30 tbr, 30 tbn, 30 tbc
    [graph 0 input from stream 0:0 @ 0x273e9c0] w:1024 h:1024 pixfmt:rgba tb:1/30 fr:30/1 sar:0/1 sws_param:flags=2
    [auto-inserted scaler 0 @ 0x2737ea0] w:iw h:ih flags:'0x4' interl:0
    [format @ 0x273ece0] auto-inserting filter 'auto-inserted scaler 0' between the filter 'Parsed_null_0' and the filter 'format'
    [auto-inserted scaler 0 @ 0x2737ea0] w:1024 h:1024 fmt:rgba sar:0/1 -> w:1024 h:1024 fmt:yuv420p sar:0/1 flags:0x4
    [libx264 @ 0x273c540] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
    [libx264 @ 0x273c540] profile High, level 3.2
    [libx264 @ 0x273c540] 264 - core 142 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=36 lookahead_threads=6 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    Output #0, mp4, to 'chunk.1.mp4':
     Metadata:
       encoder         : Lavf56.15.102
       Stream #0:0: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 1024x1024, q=-1--1, 30 fps, 15360 tbn, 30 tbc
       Metadata:
         encoder         : Lavc56.13.100 libx264
    Stream mapping:
     Stream #0:0 -> #0:0 (png (native) -> h264 (libx264))
    Press [q] to stop, [?] for help
    No more output streams to write to, finishing.
    [mp4 @ 0x273baa0] Starting second pass: moving the moov atom to the beginning of the file
    frame=    4 fps=0.0 q=-1.0 Lsize=     197kB time=00:00:00.06 bitrate=24228.7kbits/s    
    video:196kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.439751%
    Input file #0 (intermediate.%d.png):
     Input stream #0:0 (video): 8 packets read (2341016 bytes); 5 frames decoded;
     Total: 8 packets (2341016 bytes) demuxed
    Output file #0 (chunk.3.mp4):
     Output stream #0:0 (video): 4 frames encoded; 4 packets muxed (201023 bytes);
     Total: 4 packets (201023 bytes) muxed
    [libx264 @ 0x273c540] frame I:1     Avg QP: 0.47  size:116049
    [libx264 @ 0x273c540] frame P:1     Avg QP: 2.29  size: 37932
    [libx264 @ 0x273c540] frame B:2     Avg QP: 2.37  size: 23184
    [libx264 @ 0x273c540] consecutive B-frames: 25.0%  0.0% 75.0%  0.0%
    [libx264 @ 0x273c540] mb I  I16..4: 80.0%  4.5% 15.5%
    [libx264 @ 0x273c540] mb P  I16..4:  0.2%  0.1%  0.4%  P16..4:  8.1%  3.6%  3.7%  0.0%  0.0%    skip:83.9%
    [libx264 @ 0x273c540] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  4.8%  1.2%  1.6%  direct: 4.3%  skip:88.1%  L0:38.6% L1:39.3% BI:22.1%
    [libx264 @ 0x273c540] 8x8 transform intra:4.6% inter:14.8%
    [libx264 @ 0x273c540] coded y,uvDC,uvAC intra: 20.7% 22.9% 22.8% inter: 8.7% 10.1% 10.0%
    [libx264 @ 0x273c540] i16 v,h,dc,p: 95%  1%  3%  1%
    [libx264 @ 0x273c540] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21% 21% 22%  6%  6%  6%  7%  5%  6%
    [libx264 @ 0x273c540] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20% 17% 18%  7%  8%  7%  8%  6%  8%
    [libx264 @ 0x273c540] i8c dc,h,v,p: 89%  4%  4%  3%
    [libx264 @ 0x273c540] Weighted P-Frames: Y:0.0% UV:0.0%
    [libx264 @ 0x273c540] ref B L1: 89.5% 10.5%
    [libx264 @ 0x273c540] kb/s:12020.88

    as I said, this appears to produce a valid mp4 at 30fps with no duplicated or dropped frames from the input images.

    Here’s the output of the combine phase :

    ffmpeg -loglevel verbose -f concat -i concat.txt -c:v copy merged.mp4 -y
    ffmpeg version 2.5.4 Copyright (c) 2000-2015 the FFmpeg developers
     built on Feb 26 2015 10:23:42 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-3)
     configuration: --prefix=/dept/srd/vendor/ffmpeg/bundle.rhel6/ffmpeg2.5.4 --enable-static --enable-pthreads --enable-gpl --enable-version3 --disable-ffserver --disable-ffplay --disable-ffprobe --enable-x11grab --enable-nonfree --extra-cflags=-I/dept/srd/vendor/ffmpeg/extern/rhel6/include --extra-ldflags=-L/dept/srd/vendor/ffmpeg/extern/rhel6/lib --enable-libx264 --enable-fontconfig --enable-libfreetype --enable-swscale --enable-libmp3lame --enable-libfaac --disable-yasm
     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
     libswscale      3.  1.101 /  3.  1.101
     libswresample   1.  1.100 /  1.  1.100
     libpostproc    53.  3.100 / 53.  3.100
    Input #0, concat, from 'concat.txt':
     Duration: 00:00:00.67, start: 0.000000, bitrate: 2 kb/s
       Stream #0:0: Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1024x1024, 7791 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc
    Output #0, mp4, to 'merged.mp4':
     Metadata:
       encoder         : Lavf56.15.102
       Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 1024x1024 (0x0), q=2-31, 7791 kb/s, 30 fps, 15360 tbn, 15360 tbc
    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
    Press [q] to stop, [?] for help
    No more output streams to write to, finishing.
    frame=   20 fps=0.0 q=-1.0 Lsize=     748kB time=00:00:00.56 bitrate=10805.0kbits/s    
    video:746kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.141687%
    Input file #0 (concat.txt):
     Input stream #0:0 (video): 20 packets read (764361 bytes);
     Total: 20 packets (764361 bytes) demuxed
    Output file #0 (merged.mp4):
     Output stream #0:0 (video): 20 packets muxed (764361 bytes);
     Total: 20 packets (764361 bytes) muxed