Recherche avancée

Médias (91)

Autres articles (64)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

Sur d’autres sites (11684)

  • Overlay a video on another video at specific time with FFmpeg

    4 janvier 2019, par Tina J

    I am trying to overlay a video with another video. I followed the original command OP posted here. And it works, but it overlays the video from time 0 :

    ffmpeg -i 720480.mp4 -i sdbug.mov -filter_complex "[0:0][1:0]overlay[out]" -shortest -map [out] -map 0:1 -pix_fmt yuv420p -c:a copy -c:v libx264 -crf 18  new.mp4

    I tried the correct answer to specify a time, but it is not working for me : 1) the overlay starts at around second 12, and 2) video is not played after the overlay is finished.

    ffmpeg -i 720480.mp4 -i sdbug.mov -filter_complex "[1:v]setpts=PTS+10/TB[a]; [0:v][a]overlay=enable=gte(t\,5):shortest=1[out]" -map [out] -map 0:a -c:v libx264 -crf 18 -pix_fmt yuv420p -c:a copy new.mp4

    Anything changed recently on FFmpeg ?! Why isn’t it working ?

    Here is the output of this command (it finishes very fast) :

    ffmpeg version N-92906-g54109b1d14 Copyright (c) 2000-2019 the FFmpeg developers
     built with gcc 8.2.1 (GCC) 20181201
     configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
     libavutil      56. 25.100 / 56. 25.100
     libavcodec     58. 43.100 / 58. 43.100
     libavformat    58. 25.100 / 58. 25.100
     libavdevice    58.  6.101 / 58.  6.101
     libavfilter     7. 46.101 /  7. 46.101
     libswscale      5.  4.100 /  5.  4.100
     libswresample   3.  4.100 /  3.  4.100
     libpostproc    55.  4.100 / 55.  4.100
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '720480.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       creation_time   : 2018-07-26T09:23:16.000000Z
     Duration: 00:01:50.17, start: 0.000000, bitrate: 3181 kb/s
       Stream #0:0: Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 720x480 [SAR 8:9 DAR 4:3], 2785 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
       Metadata:
         creation_time   : 2018-07-26T09:23:16.000000Z
         handler_name    : VideoHandler
         timecode        : 00:59:55:12
       Stream #0:1: Audio: aac (HE-AAC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 98 kb/s (default)
       Metadata:
         creation_time   : 2018-07-26T09:23:16.000000Z
         handler_name    : SoundHandler
       Stream #0:2: Audio: aac (HE-AAC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 98 kb/s (default)
       Metadata:
         creation_time   : 2018-07-26T09:23:16.000000Z
         handler_name    : SoundHandler
       Stream #0:3: Audio: aac (HE-AAC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 98 kb/s (default)
       Metadata:
         creation_time   : 2018-07-26T09:23:16.000000Z
         handler_name    : SoundHandler
       Stream #0:4: Audio: aac (HE-AAC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 98 kb/s (default)
       Metadata:
         creation_time   : 2018-07-26T09:23:16.000000Z
         handler_name    : SoundHandler
       Stream #0:5: Data: none (tmcd / 0x64636D74) (default)
       Metadata:
         creation_time   : 2018-07-26T09:23:16.000000Z
         handler_name    : TimecodeMediaHandler
         timecode        : 00:59:55:12
    Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'sdbug.mov':
     Metadata:
       major_brand     : qt
       minor_version   : 537199360
       compatible_brands: qt
       creation_time   : 2018-08-29T14:50:13.000000Z
     Duration: 00:00:10.01, start: 0.000000, bitrate: 10504 kb/s
       Stream #1:0(eng): Video: qtrle (rle  / 0x20656C72), bgra(progressive), 720x486, 9666 kb/s, SAR 109:120 DAR 109:81, 29.97 fps, 29.97 tbr, 30k tbn, 30k tbc (default)
       Metadata:
         creation_time   : 2018-08-29T14:50:13.000000Z
         handler_name    : Apple Video Media Handler
         encoder         : Animation
         timecode        : 00:00:00;00
       Stream #1:1(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
       Metadata:
         creation_time   : 2018-08-29T14:50:13.000000Z
         handler_name    : Time Code Media Handler
         timecode        : 00:00:00;00
    Stream mapping:
     Stream #0:0 (h264) -> overlay:main
     Stream #1:0 (qtrle) -> setpts
     overlay -> Stream #0:0 (libx264)
     Stream #0:1 -> #0:1 (copy)
     Stream #0:2 -> #0:2 (copy)
     Stream #0:3 -> #0:3 (copy)
     Stream #0:4 -> #0:4 (copy)
    Press [q] to stop, [?] for help
    [libx264 @ 000002b902a3f480] using SAR=8/9
    [libx264 @ 000002b902a3f480] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
    [libx264 @ 000002b902a3f480] profile High, level 3.0, 4:2:0, 8-bit
    [libx264 @ 000002b902a3f480] 264 - core 157 r2935 545de2f - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - 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=12 lookahead_threads=2 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=18.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    Output #0, mp4, to 'new.mp4':
     Metadata:
       major_brand     : isom
       minor_version   : 512
       compatible_brands: isomiso2avc1mp41
       encoder         : Lavf58.25.100
       Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 720x480 [SAR 8:9 DAR 4:3], q=-1--1, 29.97 fps, 30k tbn, 29.97 tbc (default)
       Metadata:
         encoder         : Lavc58.43.100 libx264
       Side data:
         cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
       Stream #0:1: Audio: aac (HE-AAC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 98 kb/s (default)
       Metadata:
         creation_time   : 2018-07-26T09:23:16.000000Z
         handler_name    : SoundHandler
       Stream #0:2: Audio: aac (HE-AAC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 98 kb/s (default)
       Metadata:
         creation_time   : 2018-07-26T09:23:16.000000Z
         handler_name    : SoundHandler
       Stream #0:3: Audio: aac (HE-AAC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 98 kb/s (default)
       Metadata:
         creation_time   : 2018-07-26T09:23:16.000000Z
         handler_name    : SoundHandler
       Stream #0:4: Audio: aac (HE-AAC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 98 kb/s (default)
       Metadata:
         creation_time   : 2018-07-26T09:23:16.000000Z
         handler_name    : SoundHandler
    frame=  599 fps= 92 q=-1.0 Lsize=   11556kB time=00:01:50.01 bitrate= 860.5kbits/s speed=16.8x
    video:6173kB audio:5288kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.828358%
    [libx264 @ 000002b902a3f480] frame I:8     Avg QP:13.24  size: 44134
    [libx264 @ 000002b902a3f480] frame P:174   Avg QP:18.62  size: 20916
    [libx264 @ 000002b902a3f480] frame B:417   Avg QP:21.31  size:  5583
    [libx264 @ 000002b902a3f480] consecutive B-frames:  6.0%  1.7%  5.5% 86.8%
    [libx264 @ 000002b902a3f480] mb I  I16..4: 15.9% 58.9% 25.2%
    [libx264 @ 000002b902a3f480] mb P  I16..4:  1.4% 13.6%  4.2%  P16..4: 36.6% 22.8% 12.3%  0.0%  0.0%    skip: 9.0%
    [libx264 @ 000002b902a3f480] mb B  I16..4:  0.1%  0.9%  0.3%  B16..8: 46.4% 10.6%  2.9%  direct: 5.5%  skip:33.3%  L0:53.4% L1:36.9% BI: 9.7%
    [libx264 @ 000002b902a3f480] 8x8 transform intra:68.5% inter:65.1%
    [libx264 @ 000002b902a3f480] coded y,uvDC,uvAC intra: 77.5% 89.5% 77.2% inter: 26.8% 48.1% 10.1%
    [libx264 @ 000002b902a3f480] i16 v,h,dc,p: 50% 13% 13% 23%
    [libx264 @ 000002b902a3f480] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 24% 12% 17%  6%  8% 10%  7%  9%  7%
    [libx264 @ 000002b902a3f480] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 21% 13% 10%  7% 12% 11%  9%  9%  7%
    [libx264 @ 000002b902a3f480] i8c dc,h,v,p: 51% 15% 24% 10%
    [libx264 @ 000002b902a3f480] Weighted P-Frames: Y:5.2% UV:2.9%
    [libx264 @ 000002b902a3f480] ref P L0: 60.1% 19.6% 15.8%  4.4%  0.1%
    [libx264 @ 000002b902a3f480] ref B L0: 91.6%  7.3%  1.1%
    [libx264 @ 000002b902a3f480] ref B L1: 97.2%  2.8%
    [libx264 @ 000002b902a3f480] kb/s:2529.97
  • FFMPEG Incorrect Stream Index Matching with -var_stream_map

    28 décembre 2018, par Hugo

    I am using a bash script to run an FFMPEG command to turn an input file called Awoo.mkv into three HLS playlists each with a different resolution, video and audio bitrate.

    This is the script :

    name=gw

    rm /tmp/hls/*

    ./ffmpeg -y \
       -stream_loop -1 -re \
       -i Awoo.mkv \
       -b:v:0 4000k -b:a:0 512k -s:0 1920x1080 -r:0 30 -g:0 90 -preset:0 superfast -tune:0 zerolatency -profile:v:0 high -level:v:0 4 \
       -b:v:1 2500k -b:a:1 256k -s:1 1280x720 -r:1 30 -g:1 90 -preset:1 superfast -tune:1 zerolatency -profile:v:1 high -level:v:1 4 \
       -b:v:2 800k -b:a:2 255k -s:2 960x540 -r:2 30 -g:2 90 -preset:2 superfast -tune:2 zerolatency -profile:v:2 high -level:v:2 4 \
       -hls_time 6 \
       -hls_list_size 2 \
       -hls_flags delete_segments \
       -map 0:v -map 0:a -map 0:v -map 0:a -map 0:v -map 0:a \
       -var_stream_map "v:0,a:0 v:1,a:1 v:2,a:2" \
       -f hls -master_pl_name "${name}.m3u8" \
       -hls_segment_filename "/tmp/hls/${name}_-%d-%v.ts" \
       "/tmp/hls/${name}_%v.m3u8"

    This almost works great, but the output is slightly off...

    If you look at these two lines :

    -b:v:1 2500k -b:a:1 256k -s:1 1280x720 -r:1 30 -g:1 90 -preset:1 superfast -tune:1 zerolatency -profile:v:1 high -level:v:1 4 \
    -b:v:2 800k -b:a:2 255k -s:2 960x540 -r:2 30 -g:2 90 -preset:2 superfast -tune:2 zerolatency -profile:v:2 high -level:v:2 4 \

    A resolution of 1280x720 should have a bitrate of 2500k, a resolution of 960x540 should have a bitrate of 800k.

    This is the relevant output from FFMPEG :

    Stream #0:2(und): Video: h264 (libx264), yuv420p(progressive), 960x540 [SAR 1:1 DAR 16:9], q=-1--1, 2500 kb/s, 30 fps, 90k tbn, 30 tbc (default)
    Metadata:
     CREATION_TIME   : 2017-01-27 05:02:53
     LANGUAGE        : und
     HANDLER_NAME    : VideoHandler
     DURATION        : 00:02:24.310000000
     encoder         : Lavc58.18.100 libx264
    Side data:
     cpb: bitrate max/min/avg: 0/0/2500000 buffer size: 0 vbv_delay: -1
    Stream #0:3(eng): Audio: aac (LC), 44100 Hz, stereo, fltp, 256 kb/s (default)
    Metadata:
     LANGUAGE        : eng
     DURATION        : 00:02:24.348000000
     encoder         : Lavc58.18.100 aac
    Stream #0:4(und): Video: h264 (libx264), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 800 kb/s, 29 fps, 90k tbn, 29 tbc (default)
    Metadata:
     CREATION_TIME   : 2017-01-27 05:02:53
     LANGUAGE        : und
     HANDLER_NAME    : VideoHandler
     DURATION        : 00:02:24.310000000
     encoder         : Lavc58.18.100 libx264
    Side data:
     cpb: bitrate max/min/avg: 0/0/800000 buffer size: 0 vbv_delay: -1
    Stream #0:5(eng): Audio: aac (LC), 44100 Hz, stereo, fltp, 255 kb/s (default)
    Metadata:
     LANGUAGE        : eng
     DURATION        : 00:02:24.348000000
     encoder         : Lavc58.18.100 aac

    Stream #0:2 is given the wrong resolution of 960x540, and therefore also the wrong bitrate of 2500. This should be the resolution of 1280x720, but this is below matched with the bitrate of 800.

    From what I know, the resolutions are showing in the wrong order, if 720 was first and 540 after then everything would match up fine. I’m not sure what’s causing this, I am new to the -var_stream_map.

    If it is relevant, the entire output from FFMPEG is below :

    ffmpeg version 4.0.3-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2018 the FFmpeg developers
     built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
     configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc-6 --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg
     libavutil      56. 14.100 / 56. 14.100
     libavcodec     58. 18.100 / 58. 18.100
     libavformat    58. 12.100 / 58. 12.100
     libavdevice    58.  3.100 / 58.  3.100
     libavfilter     7. 16.100 /  7. 16.100
     libswscale      5.  1.100 /  5.  1.100
     libswresample   3.  1.100 /  3.  1.100
     libpostproc    55.  1.100 / 55.  1.100
    Input #0, matroska,webm, from 'Awoo.mkv':
     Metadata:
       COMPATIBLE_BRANDS: iso6avc1mp41
       MAJOR_BRAND     : dash
       MINOR_VERSION   : 0
       ENCODER         : Lavf56.40.101
     Duration: 00:02:24.35, start: 0.000000, bitrate: 1114 kb/s
       Stream #0:0(und): Video: h264 (Main), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 29 fps, 29 tbr, 1k tbn, 58 tbc (default)
       Metadata:
         CREATION_TIME   : 2017-01-27 05:02:53
         LANGUAGE        : und
         HANDLER_NAME    : VideoHandler
         DURATION        : 00:02:24.310000000
       Stream #0:1(eng): Audio: vorbis, 44100 Hz, stereo, fltp (default)
       Metadata:
         LANGUAGE        : eng
         DURATION        : 00:02:24.348000000
    Stream mapping:
     Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
     Stream #0:1 -> #0:1 (vorbis (native) -> aac (native))
     Stream #0:0 -> #0:2 (h264 (native) -> h264 (libx264))
     Stream #0:1 -> #0:3 (vorbis (native) -> aac (native))
     Stream #0:0 -> #0:4 (h264 (native) -> h264 (libx264))
     Stream #0:1 -> #0:5 (vorbis (native) -> aac (native))
    Press [q] to stop, [?] for help
    [libx264 @ 0x664d1c0] using SAR=1/1
    [libx264 @ 0x664d1c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
    [libx264 @ 0x664d1c0] profile High, level 4.0, 4:2:0, 8-bit
    [libx264 @ 0x664d1c0] 264 - core 157 r2935 545de2f - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x3 me=dia subme=1 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=4 lookahead_threads=4 sliced_threads=1 slices=4 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=1 keyint=90 keyint_min=9 scenecut=40 intra_refresh=0 rc=abr mbtree=0 bitrate=4000 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    [libx264 @ 0x664f080] using SAR=1/1
    [libx264 @ 0x664f080] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
    [libx264 @ 0x664f080] profile High, level 4.0, 4:2:0, 8-bit
    [libx264 @ 0x664f080] 264 - core 157 r2935 545de2f - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x3 me=dia subme=1 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=4 lookahead_threads=4 sliced_threads=1 slices=4 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=1 keyint=90 keyint_min=9 scenecut=40 intra_refresh=0 rc=abr mbtree=0 bitrate=2500 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    [libx264 @ 0x6680b80] using SAR=1/1
    [libx264 @ 0x6680b80] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
    [libx264 @ 0x6680b80] profile High, level 4.0, 4:2:0, 8-bit
    [libx264 @ 0x6680b80] 264 - core 157 r2935 545de2f - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - 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=6 lookahead_threads=1 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=abr mbtree=1 bitrate=800 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    [hls @ 0x6650000] Opening '/tmp/hls/gw_-0-0.ts' for writing
    [hls @ 0x6650000] Opening '/tmp/hls/gw_-0-1.ts' for writing
    [hls @ 0x6650000] Opening '/tmp/hls/gw_-0-2.ts' for writing
    Output #0, hls, to '/tmp/hls/gw_%v.m3u8':
     Metadata:
       COMPATIBLE_BRANDS: iso6avc1mp41
       MAJOR_BRAND     : dash
       MINOR_VERSION   : 0
       encoder         : Lavf58.12.100
       Stream #0:0(und): Video: h264 (libx264), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=-1--1, 4000 kb/s, 30 fps, 90k tbn, 30 tbc (default)
       Metadata:
         CREATION_TIME   : 2017-01-27 05:02:53
         LANGUAGE        : und
         HANDLER_NAME    : VideoHandler
         DURATION        : 00:02:24.310000000
         encoder         : Lavc58.18.100 libx264
       Side data:
         cpb: bitrate max/min/avg: 0/0/4000000 buffer size: 0 vbv_delay: -1
       Stream #0:1(eng): Audio: aac (LC), 44100 Hz, stereo, fltp, 512 kb/s (default)
       Metadata:
         LANGUAGE        : eng
         DURATION        : 00:02:24.348000000
         encoder         : Lavc58.18.100 aac
       Stream #0:2(und): Video: h264 (libx264), yuv420p(progressive), 960x540 [SAR 1:1 DAR 16:9], q=-1--1, 2500 kb/s, 30 fps, 90k tbn, 30 tbc (default)
       Metadata:
         CREATION_TIME   : 2017-01-27 05:02:53
         LANGUAGE        : und
         HANDLER_NAME    : VideoHandler
         DURATION        : 00:02:24.310000000
         encoder         : Lavc58.18.100 libx264
       Side data:
         cpb: bitrate max/min/avg: 0/0/2500000 buffer size: 0 vbv_delay: -1
       Stream #0:3(eng): Audio: aac (LC), 44100 Hz, stereo, fltp, 256 kb/s (default)
       Metadata:
         LANGUAGE        : eng
         DURATION        : 00:02:24.348000000
         encoder         : Lavc58.18.100 aac
       Stream #0:4(und): Video: h264 (libx264), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 800 kb/s, 29 fps, 90k tbn, 29 tbc (default)
       Metadata:
         CREATION_TIME   : 2017-01-27 05:02:53
         LANGUAGE        : und
         HANDLER_NAME    : VideoHandler
         DURATION        : 00:02:24.310000000
         encoder         : Lavc58.18.100 libx264
       Side data:
         cpb: bitrate max/min/avg: 0/0/800000 buffer size: 0 vbv_delay: -1
       Stream #0:5(eng): Audio: aac (LC), 44100 Hz, stereo, fltp, 255 kb/s (default)
       Metadata:
         LANGUAGE        : eng
         DURATION        : 00:02:24.348000000
         encoder         : Lavc58.18.100 aac
    [hls @ 0x6650000] Opening '/tmp/hls/gw_0.m3u8.tmp' for writing6.50 bitrate=N/A dup=12 drop=0 speed=0.965x    
    [hls @ 0x6650000] Opening '/tmp/hls/gw_1.m3u8.tmp' for writing
    [hls @ 0x6650000] Opening '/tmp/hls/gw_2.m3u8.tmp' for writing
    [hls @ 0x6650000] Opening '/tmp/hls/gw.m3u8' for writing
  • ffmpeg converting JPG slideshow to H264

    22 décembre 2018, par phol

    I am trying to convert a set of jpg files to a slideshow with varying durations using ffconcat

    output.txt contents :

    ffconcat version 1.0
    file slide_0001.jpg
    duration 0.163
    file slide_0002.jpg
    duration 0.533
    file slide_0003.jpg
    duration 1.067
    file slide_0004.jpg
    duration 0.533
    file slide_0005.jpg
    etc.

    FFmpeg command :

    ffmpeg -i output.txt output.mkv

    I also tried :

    ffmpeg -i output.txt -c:v copy output.mkv

    However, when converting, the colours of the images become skewed.
    White becomes pink / purple and dark green becomes light green.
    The same happens when choosing different codecs and containers.
    Is there a way to solve this ?

    EDIT :
    I performed the same conversion again. I attached the log output as requested.
    However, in the meantime I have figured out that converting without ffconcat duration and then altering timecodes with mp4fpsmod is more efficient in terms of storage (3 vs 40 MB) and gives less issues in different players. The result is nonetheless the same : colours are still wrong, both on my workstation (Ubuntu 18.04) and laptop (macOS Mojave).

    I tried to alter things with pix_fmt and -vf format as can be seen in the second log output. This did not solve the problem.

    Background info :
    The input jpg files are from a lecture recording made with MediaSite, which has both a video stream for the room as well as this slideshow stream for the slides.

    Example of input :
    Input image
    Example of output :
    Screenshot of output
    log output MKV conversion :

       $ ffmpeg -i outputnew.txt output12345.mkv
    ffmpeg version 4.1 Copyright (c) 2000-2018 the FFmpeg developers
    built with Apple LLVM version 10.0.0 (clang-1000.11.45.5)
    configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gpl --enable-libmp3lame --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-opencl --enable-videotoolbox
    libavutil      56. 22.100 / 56. 22.100
    libavcodec     58. 35.100 / 58. 35.100
    libavformat    58. 20.100 / 58. 20.100
    libavdevice    58.  5.100 / 58.  5.100
    libavfilter     7. 40.101 /  7. 40.101
    libavresample   4.  0.  0 /  4.  0.  0
    libswscale      5.  3.100 /  5.  3.100
    libswresample   3.  3.100 /  3.  3.100
    libpostproc    55.  3.100 / 55.  3.100
    Input #0, concat, from 'outputnew.txt':
    Duration: N/A, start: 0.000000, bitrate: N/A
       Stream #0:0: Video: mjpeg, yuvj444p(pc, bt470bg/unknown/unknown), 1280x720, 25 tbr, 25 tbn, 25 tbc
    Stream mapping:
    Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
    Press [q] to stop, [?] for help
    [libx264 @ 0x7fb284802800] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
    [libx264 @ 0x7fb284802800] profile High 4:4:4 Predictive, level 3.1, 4:4:4 8-bit
    [libx264 @ 0x7fb284802800] 264 - core 152 r2854 e9a5903 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=4 threads=6 lookahead_threads=1 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=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    Output #0, matroska, to 'output12345.mkv':
    Metadata:
       encoder         : Lavf58.20.100
       Stream #0:0: Video: h264 (libx264) (H264 / 0x34363248), yuvj444p(pc), 1280x720, q=-1--1, 25 fps, 1k tbn, 25 tbc
       Metadata:
       encoder         : Lavc58.35.100 libx264
       Side data:
       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
    [mjpeg @ 0x7fb284061200] EOI missing, emulating=00:02:12.96 bitrate= 491.3kbits/s speed=14.3x        
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte= 487.2kbits/s speed=14.3x    
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte= 333.0kbits/s speed=22.3x    
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte= 338.8kbits/s speed=22.7x    
       Last message repeated 2 times
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte= 164.7kbits/s speed=41.6x    
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte= 122.7kbits/s speed=55.7x    
       Last message repeated 1 times
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte= 111.2kbits/s speed=60.5x    
       Last message repeated 1 times
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte= 105.3kbits/s speed=64.4x    
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  82.2kbits/s speed=82.7x    
       Last message repeated 1 times
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  79.7kbits/s speed=85.8x    
       Last message repeated 2 times
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  59.7kbits/s speed= 114x    
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  53.8kbits/s speed= 127x    
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  54.7kbits/s speed= 124x    
       Last message repeated 1 times
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  47.1kbits/s speed= 143x    
       Last message repeated 1 times
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  47.0kbits/s speed= 144x    
       Last message repeated 1 times
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  44.6kbits/s speed= 151x    
       Last message repeated 1 times
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  34.4kbits/s speed= 194x    
       Last message repeated 2 times
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  32.9kbits/s speed= 204x    
       Last message repeated 2 times
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  32.8kbits/s speed= 203x    
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  32.6kbits/s speed= 202x    
       Last message repeated 1 times
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  28.8kbits/s speed= 229x    
       Last message repeated 2 times
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  27.9kbits/s speed= 236x    
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  27.9kbits/s speed= 233x    
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  23.9kbits/s speed= 274x    
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  24.2kbits/s speed= 273x    
       Last message repeated 2 times
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  24.2kbits/s speed= 274x    
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  24.0kbits/s speed= 276x    
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  24.2kbits/s speed= 273x    
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  23.6kbits/s speed= 278x    
       Last message repeated 1 times
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  23.7kbits/s speed= 279x    
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  23.6kbits/s speed= 279x    
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  24.0kbits/s speed= 276x    
       Last message repeated 1 times
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  23.5kbits/s speed= 281x    
       Last message repeated 1 times
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  20.4kbits/s speed= 325x    
    [mjpeg @ 0x7fb28502a000] EOI missing, emulating
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  20.1kbits/s speed= 329x    
       Last message repeated 1 times
    [matroska @ 0x7fb284812e00] Starting new cluster due to timestampte=  20.1kbits/s speed= 330x    
    frame=  635 fps= 14 q=-1.0 Lsize=   37389kB time=04:22:06.76 bitrate=  19.5kbits/s speed= 343x    
    video:37378kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.029620%
    [libx264 @ 0x7fb284802800] frame I:16    Avg QP:11.98  size:154224
    [libx264 @ 0x7fb284802800] frame P:184   Avg QP:13.30  size: 79029
    [libx264 @ 0x7fb284802800] frame B:435   Avg QP:13.19  size: 48887
    [libx264 @ 0x7fb284802800] consecutive B-frames:  6.0%  4.4% 10.9% 78.7%
    [libx264 @ 0x7fb284802800] mb I  I16..4: 55.7%  0.0% 44.3%
    [libx264 @ 0x7fb284802800] mb P  I16..4: 32.4%  0.0% 21.5%  P16..4: 13.3% 15.1% 11.3%  0.0%  0.0%    skip: 6.4%
    [libx264 @ 0x7fb284802800] mb B  I16..4: 17.8%  0.0%  7.2%  B16..8: 19.1% 19.4%  6.5%  direct:14.6%  skip:15.3%  L0:47.0% L1:38.9% BI:14.1%
    [libx264 @ 0x7fb284802800] coded y,u,v intra: 63.7% 26.1% 56.3% inter: 46.5% 24.6% 43.5%
    [libx264 @ 0x7fb284802800] i16 v,h,dc,p: 19% 18% 58%  4%
    [libx264 @ 0x7fb284802800] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 35% 20% 25%  4%  4%  3%  3%  3%  3%
    [libx264 @ 0x7fb284802800] Weighted P-Frames: Y:5.4% UV:5.4%
    [libx264 @ 0x7fb284802800] ref P L0: 43.2%  4.4% 30.8% 21.4%  0.2%
    [libx264 @ 0x7fb284802800] ref B L0: 64.1% 27.3%  8.6%
    [libx264 @ 0x7fb284802800] ref B L1: 85.3% 14.7%
    [libx264 @ 0x7fb284802800] kb/s:19.25

    Log output mp4 conversion :

    $ ffmpeg -i slide_%04d.jpg -vf format=rgba -pix_fmt yuv420p -vcodec libx264 -movflags +faststart -preset veryslow output12345.mp4
    ffmpeg version 4.1 Copyright (c) 2000-2018 the FFmpeg developers
    built with Apple LLVM version 10.0.0 (clang-1000.11.45.5)
    configuration: --prefix=/usr/local/Cellar/ffmpeg/4.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gpl --enable-libmp3lame --enable-libopus --enable-libsnappy --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-opencl --enable-videotoolbox
    libavutil      56. 22.100 / 56. 22.100
    libavcodec     58. 35.100 / 58. 35.100
    libavformat    58. 20.100 / 58. 20.100
    libavdevice    58.  5.100 / 58.  5.100
    libavfilter     7. 40.101 /  7. 40.101
    libavresample   4.  0.  0 /  4.  0.  0
    libswscale      5.  3.100 /  5.  3.100
    libswresample   3.  3.100 /  3.  3.100
    libpostproc    55.  3.100 / 55.  3.100
    Input #0, image2, from 'slide_%04d.jpg':
    Duration: 00:00:25.36, start: 0.000000, bitrate: N/A
       Stream #0:0: Video: mjpeg, yuvj444p(pc, bt470bg/unknown/unknown), 1280x720, 25 fps, 25 tbr, 25 tbn, 25 tbc
    File 'output12345.mp4' already exists. Overwrite ? [y/N] y
    Stream mapping:
    Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
    Press [q] to stop, [?] for help
    [swscaler @ 0x7fb7e280b000] deprecated pixel format used, make sure you did set range correctly
    [libx264 @ 0x7fb7e1803c00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
    [libx264 @ 0x7fb7e1803c00] profile High, level 5.0
    [libx264 @ 0x7fb7e1803c00] 264 - core 152 r2854 e9a5903 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=1 ref=16 deblock=1:0:0 analyse=0x3:0x133 me=umh subme=10 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=24 chroma_me=1 trellis=2 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=8 b_pyramid=2 b_adapt=2 b_bias=0 direct=3 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=60 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
    Output #0, mp4, to 'output12345.mp4':
    Metadata:
       encoder         : Lavf58.20.100
       Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1280x720, q=-1--1, 25 fps, 12800 tbn, 25 tbc
       Metadata:
       encoder         : Lavc58.35.100 libx264
       Side data:
       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
    [mp4 @ 0x7fb7e1801800] Starting second pass: moving the moov atom to the beginning of the file    
    frame=  634 fps=8.5 q=-1.0 Lsize=    2252kB time=00:00:25.24 bitrate= 731.0kbits/s speed=0.337x    
    video:2245kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.307448%
    [libx264 @ 0x7fb7e1803c00] frame I:5     Avg QP:19.12  size: 49393
    [libx264 @ 0x7fb7e1803c00] frame P:131   Avg QP:22.18  size:  9379
    [libx264 @ 0x7fb7e1803c00] frame B:498   Avg QP:23.78  size:  1652
    [libx264 @ 0x7fb7e1803c00] consecutive B-frames:  3.2%  1.6%  3.3% 29.7%  7.9% 16.1%  7.7% 16.4% 14.2%
    [libx264 @ 0x7fb7e1803c00] mb I  I16..4: 45.7% 37.9% 16.4%
    [libx264 @ 0x7fb7e1803c00] mb P  I16..4:  6.0%  5.3%  1.3%  P16..4: 19.9%  1.9%  3.7%  0.3%  0.1%    skip:61.5%
    [libx264 @ 0x7fb7e1803c00] mb B  I16..4:  0.3%  0.4%  0.1%  B16..8: 17.5%  1.0%  0.2%  direct: 0.3%  skip:80.2%  L0:52.3% L1:46.9% BI: 0.8%
    [libx264 @ 0x7fb7e1803c00] 8x8 transform intra:43.0% inter:48.9%
    [libx264 @ 0x7fb7e1803c00] direct mvs  spatial:99.2% temporal:0.8%
    [libx264 @ 0x7fb7e1803c00] coded y,uvDC,uvAC intra: 16.9% 25.8% 16.6% inter: 1.1% 1.9% 1.2%
    [libx264 @ 0x7fb7e1803c00] i16 v,h,dc,p: 61% 28%  6%  6%
    [libx264 @ 0x7fb7e1803c00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 20%  9% 50%  3%  4%  3%  3%  3%  5%
    [libx264 @ 0x7fb7e1803c00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 18% 23% 19%  5%  7%  6%  6%  5% 10%
    [libx264 @ 0x7fb7e1803c00] i8c dc,h,v,p: 46% 40% 13%  1%
    [libx264 @ 0x7fb7e1803c00] Weighted P-Frames: Y:5.3% UV:5.3%
    [libx264 @ 0x7fb7e1803c00] ref P L0: 33.2%  3.1% 11.6%  7.3%  8.8%  6.4%  6.5%  3.1%  3.2%  2.6%  2.4%  2.5%  2.8%  2.8%  2.3%  1.4%
    [libx264 @ 0x7fb7e1803c00] ref B L0: 42.0% 15.1% 12.0%  5.4%  4.9%  4.3%  4.0%  1.9%  2.0%  1.8%  1.7%  1.8%  1.7%  1.1%  0.5%
    [libx264 @ 0x7fb7e1803c00] ref B L1: 83.5% 16.5%
    [libx264 @ 0x7fb7e1803c00] kb/s:725.10

    Player :
    QuickTime, VLC and Kodi on both Linux and Mac.

    EDIT 2 :
    Input files : https://drive.google.com/open?id=1kbBkSDSwe6ywgQ8lkjqkh-MKCzGA4bj8