Recherche avancée

Médias (1)

Mot : - Tags -/Christian Nold

Autres articles (112)

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

    5 septembre 2013, par

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

  • 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" (...)

Sur d’autres sites (10509)

  • 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
  • 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
  • Streaming video .mp4 H.264 baseline not working on some videos [duplicate]

    8 janvier 2019, par D. B.

    I use server to stream recorder videos on Android phones and play them in Android app later. However I noticed that I am not able to play all videos, I used ffmpeg to see if there is any difference in recorded videos and where the issue might be.
    That is an example of loading and playing video :

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'w1.mp4':


    Metadata:
       major_brand     : mp42
       minor_version   : 0
       compatible_brands: isommp42
       creation_time   : 2019-01-07T15:38:52.000000Z
       com.android.version: 8.1.0
     Duration: 00:00:04.94, start: 0.000000, bitrate: 5003 kb/s
       Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, smpte170m/bt470bg/smpte170m), 720x480, 4951 kb/s, SAR 1:1 DAR 3:2, 27.71 fps, 30 tbr, 90k tbn, 180k tbc (default)
       Metadata:
         rotate          : 90
         creation_time   : 2019-01-07T15:38:52.000000Z
         handler_name    : VideoHandle
       Side data:
         displaymatrix: rotation of -90.00 degrees
       Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 8000 Hz, mono, fltp, 48 kb/s (default)
       Metadata:
         creation_time   : 2019-01-07T15:38:52.000000Z
         handler_name    : SoundHandle
       "streams": [
           {
               "index": 0,
               "codec_name": "h264",
               "codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
               "profile": "Baseline",
               "codec_type": "video",
               "codec_time_base": "444929/24660000",
               "codec_tag_string": "avc1",
               "codec_tag": "0x31637661",
               "width": 720,
               "height": 480,
               "coded_width": 720,
               "coded_height": 480,
               "has_b_frames": 0,
               "sample_aspect_ratio": "1:1",
               "display_aspect_ratio": "3:2",
               "pix_fmt": "yuv420p",
               "level": 30,
               "color_range": "tv",
               "color_space": "smpte170m",
               "color_transfer": "smpte170m",
               "color_primaries": "bt470bg",
               "chroma_location": "left",
               "refs": 1,
               "is_avc": "true",
               "nal_length_size": "4",
               "r_frame_rate": "30/1",
               "avg_frame_rate": "12330000/444929",
               "time_base": "1/90000",
               "start_pts": 0,
               "start_time": "0.000000",
               "duration_ts": 444929,
               "duration": "4.943656",
               "bit_rate": "4951506",
               "bits_per_raw_sample": "8",
               "nb_frames": "137",
               "disposition": {
                   "default": 1,
                   "dub": 0,
                   "original": 0,
                   "comment": 0,
                   "lyrics": 0,
                   "karaoke": 0,
                   "forced": 0,
                   "hearing_impaired": 0,
                   "visual_impaired": 0,
                   "clean_effects": 0,
                   "attached_pic": 0,
                   "timed_thumbnails": 0
               },
               "tags": {
                   "rotate": "90",
                   "creation_time": "2019-01-07T15:38:52.000000Z",
                   "language": "eng",
                   "handler_name": "VideoHandle"
               },
               "side_data_list": [
                   {
                       "side_data_type": "Display Matrix",
                       "displaymatrix": "\n00000000:            0       65536           0\n00000001:       -65536           0           0\n00000002:            0           0  1073741824\n",
                       "rotation": -90
                   }
               ]
           }
       ]
    }

    Next is the example of not working video :

    [mov,mp4,m4a,3gp,3g2,mj2 @ 000001ea0adcd700] sample aspect ratio already set to 1:1, ignoring 'pasp' atom (65536:65536)
    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'notworking.mp4':
     Metadata:
       major_brand     : mp42
       minor_version   : 0
       compatible_brands: isommp42
       creation_time   : 2018-12-30T14:20:23.000000Z
       com.android.version: 7.0
     Duration: 00:00:10.16, start: 0.000000, bitrate: 5240 kb/s
       Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p(tv, smpte170m/bt470bg/smpte170m), 720x480, 5223 kb/s, SAR 1:1 DAR 3:2, 29.30 fps, 59.94 tbr, 90k tbn, 180k tbc (default)
       Metadata:
         rotate          : 90
         creation_time   : 2018-12-30T14:20:23.000000Z
         handler_name    : VideoHandle
       Side data:
         displaymatrix: rotation of -90.00 degrees
       Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 8000 Hz, mono, fltp, 12 kb/s (default)
       Metadata:
         creation_time   : 2018-12-30T14:20:23.000000Z
         handler_name    : SoundHandle
       "streams": [
           {
               "index": 0,
               "codec_name": "h264",
               "codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
               "profile": "Baseline",
               "codec_type": "video",
               "codec_time_base": "20751/1216000",
               "codec_tag_string": "avc1",
               "codec_tag": "0x31637661",
               "width": 720,
               "height": 480,
               "coded_width": 720,
               "coded_height": 480,
               "has_b_frames": 0,
               "sample_aspect_ratio": "1:1",
               "display_aspect_ratio": "3:2",
               "pix_fmt": "yuv420p",
               "level": 30,
               "color_range": "tv",
               "color_space": "smpte170m",
               "color_transfer": "smpte170m",
               "color_primaries": "bt470bg",
               "chroma_location": "left",
               "refs": 1,
               "is_avc": "true",
               "nal_length_size": "4",
               "r_frame_rate": "60000/1001",
               "avg_frame_rate": "608000/20751",
               "time_base": "1/90000",
               "start_pts": 0,
               "start_time": "0.000000",
               "duration_ts": 914271,
               "duration": "10.158567",
               "bit_rate": "5223363",
               "bits_per_raw_sample": "8",
               "nb_frames": "304",
               "disposition": {
                   "default": 1,
                   "dub": 0,
                   "original": 0,
                   "comment": 0,
                   "lyrics": 0,
                   "karaoke": 0,
                   "forced": 0,
                   "hearing_impaired": 0,
                   "visual_impaired": 0,
                   "clean_effects": 0,
                   "attached_pic": 0,
                   "timed_thumbnails": 0
               },
               "tags": {
                   "rotate": "90",
                   "creation_time": "2018-12-30T14:20:23.000000Z",
                   "language": "eng",
                   "handler_name": "VideoHandle"
               },
               "side_data_list": [
                   {
                       "side_data_type": "Display Matrix",
                       "displaymatrix": "\n00000000:            0       65536           0\n00000001:       -65536           0           0\n00000002:            0           0  1073741824\n",
                       "rotation": -90
                   }
               ]
           }
       ]
    }

    I cannot see any difference in the videos characteristics. Both are baseline H.264.
    Both videos are playing in chrome when I access them via direct links, the problem is on android versions 6, 7, 8.
    There is strange thing because when I downloaded that not loading video directly and put in the android app to raw folder and played it directly everything worked perfectly.
    I checked if the problem was bandwidth, so I uploaded bigger video about 12Mbs, mp4 as well H.264 Main and then streamed it to the app and it worked like a charm. So I suspect that the issue might be with recording bigger files within my android app.
    To stream video I only use MediaPlayer.

    That is an example of the video I uploaded and later streamed :

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '123456.mp4':


    Metadata:
       major_brand     : mp42
       minor_version   : 0
       compatible_brands: isommp42
       creation_time   : 2018-01-30T06:50:54.000000Z
     Duration: 00:02:29.16, start: 0.000000, bitrate: 700 kb/s
       Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 571 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc (default)
       Metadata:
         creation_time   : 2018-01-30T06:50:54.000000Z
         handler_name    : ISO Media file. Created on: 01/29/2018.
       Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 125 kb/s (default)
       Metadata:
         creation_time   : 2018-01-30T06:50:54.000000Z
         handler_name    : ISO Media file. Created on: 01/29/2018.
       "streams": [
           {
               "index": 0,
               "codec_name": "h264",
               "codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
               "profile": "Main",
               "codec_type": "video",
               "codec_time_base": "1/50",
               "codec_tag_string": "avc1",
               "codec_tag": "0x31637661",
               "width": 1280,
               "height": 720,
               "coded_width": 1280,
               "coded_height": 720,
               "has_b_frames": 1,
               "sample_aspect_ratio": "1:1",
               "display_aspect_ratio": "16:9",
               "pix_fmt": "yuv420p",
               "level": 31,
               "color_range": "tv",
               "color_space": "bt709",
               "color_transfer": "bt709",
               "color_primaries": "bt709",
               "chroma_location": "left",
               "refs": 1,
               "is_avc": "true",
               "nal_length_size": "4",
               "r_frame_rate": "25/1",
               "avg_frame_rate": "25/1",
               "time_base": "1/90000",
               "start_pts": 0,
               "start_time": "0.000000",
               "duration_ts": 13424400,
               "duration": "149.160000",
               "bit_rate": "571258",
               "bits_per_raw_sample": "8",
               "nb_frames": "3729",
               "disposition": {
                   "default": 1,
                   "dub": 0,
                   "original": 0,
                   "comment": 0,
                   "lyrics": 0,
                   "karaoke": 0,
                   "forced": 0,
                   "hearing_impaired": 0,
                   "visual_impaired": 0,
                   "clean_effects": 0,
                   "attached_pic": 0,
                   "timed_thumbnails": 0
               },
               "tags": {
                   "creation_time": "2018-01-30T06:50:54.000000Z",
                   "language": "und",
                   "handler_name": "ISO Media file. Created on: 01/29/2018."
               }
           }
       ]
    }

    Is there any chance that my hosting provider uses some kind of software that can manipulate data that is on the server?

    I also check manually other videos from different websites by inserting links manually in the code to check if MediaPlayer works correctly and every video was playing.