Current code estimates bitrate by taking size of a single fragment and dividing by the total duration. This patch changes calculation to be based on duration used for framerate estimation.
Example ffprobes BEFORE patch (note video stream 15 kb/s, audio stream 0 kb/s): ffprobe version N-91996-g94aed2265a Copyright (c) 2007-2018 the FFmpeg developers built with Apple LLVM version 10.0.0 (clang-1000.11.45.2) configuration: libavutil 56. 19.101 / 56. 19.101 libavcodec 58. 30.100 / 58. 30.100 libavformat 58. 18.102 / 58. 18.102 libavdevice 58. 4.103 / 58. 4.103 libavfilter 7. 32.100 / 7. 32.100 libswscale 5. 2.100 / 5. 2.100 libswresample 3. 2.100 / 3. 2.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/nick/media/v-a-hls/video/video.mp4': Metadata: major_brand : isom minor_version : 0 compatible_brands: iso8mp41dashavc1cmfc creation_time : 2018-08-30T11:28:56.000000Z Duration: 00:11:24.00, start: 0.000000, bitrate: 999 kb/s Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1024x576 [SAR 1:1 DAR 16:9], 15 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default) Metadata: creation_time : 2018-08-30T11:28:56.000000Z handler_name : VideoHandler encoder : AVC Coding ffprobe version N-91996-g94aed2265a Copyright (c) 2007-2018 the FFmpeg developers built with Apple LLVM version 10.0.0 (clang-1000.11.45.2) configuration: libavutil 56. 19.101 / 56. 19.101 libavcodec 58. 30.100 / 58. 30.100 libavformat 58. 18.102 / 58. 18.102 libavdevice 58. 4.103 / 58. 4.103 libavfilter 7. 32.100 / 7. 32.100 libswscale 5. 2.100 / 5. 2.100 libswresample 3. 2.100 / 3. 2.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/nick/media/v-a-hls/audio/audio.mp4': Metadata: major_brand : isom minor_version : 0 compatible_brands: iso8mp41dashcmfc creation_time : 2018-08-30T11:28:56.000000Z Duration: 00:11:24.00, start: -0.023220, bitrate: 59 kb/s Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 0 kb/s (default) Metadata: creation_time : 2018-08-30T11:28:56.000000Z handler_name : SoundHandler Example ffprobes AFTER patch (note video stream 1027 kb/s, audio stream 4 kb/s): ffprobe version N-91996-g94aed2265a Copyright (c) 2007-2018 the FFmpeg developers built with Apple LLVM version 10.0.0 (clang-1000.11.45.2) configuration: libavutil 56. 19.101 / 56. 19.101 libavcodec 58. 30.100 / 58. 30.100 libavformat 58. 18.102 / 58. 18.102 libavdevice 58. 4.103 / 58. 4.103 libavfilter 7. 32.100 / 7. 32.100 libswscale 5. 2.100 / 5. 2.100 libswresample 3. 2.100 / 3. 2.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/nick/media/v-a-hls/video/video.mp4': Metadata: major_brand : isom minor_version : 0 compatible_brands: iso8mp41dashavc1cmfc creation_time : 2018-08-30T11:28:56.000000Z Duration: 00:11:24.00, start: 0.000000, bitrate: 999 kb/s Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1024x576 [SAR 1:1 DAR 16:9], 1027 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default) Metadata: creation_time : 2018-08-30T11:28:56.000000Z handler_name : VideoHandler encoder : AVC Coding ffprobe version N-91996-g94aed2265a Copyright (c) 2007-2018 the FFmpeg developers built with Apple LLVM version 10.0.0 (clang-1000.11.45.2) configuration: libavutil 56. 19.101 / 56. 19.101 libavcodec 58. 30.100 / 58. 30.100 libavformat 58. 18.102 / 58. 18.102 libavdevice 58. 4.103 / 58. 4.103 libavfilter 7. 32.100 / 7. 32.100 libswscale 5. 2.100 / 5. 2.100 libswresample 3. 2.100 / 3. 2.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/nick/media/v-a-hls/audio/audio.mp4': Metadata: major_brand : isom minor_version : 0 compatible_brands: iso8mp41dashcmfc creation_time : 2018-08-30T11:28:56.000000Z Duration: 00:11:24.00, start: -0.023220, bitrate: 59 kb/s Stream #0:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 4 kb/s (default) Metadata: creation_time : 2018-08-30T11:28:56.000000Z handler_name : SoundHandler Nick Ryan (1): possible fix to correct (improve) bitrate estimation for streams in fragmented MP4 when calculation is based on trex_data libavformat/mov.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- 2.17.1 (Apple Git-112) _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel