[FFmpeg-trac] #6915(avformat:open): DASH audio segments duration doesn't match exactly with video segments duration.
FFmpeg
trac at avcodec.org
Sun Dec 24 03:46:13 EET 2017
#6915: DASH audio segments duration doesn't match exactly with video segments
duration.
------------------------------------+-------------------------------------
Reporter: beloko | Owner: stevenliu
Type: defect | Status: open
Priority: normal | Component: avformat
Version: git-master | Resolution:
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
------------------------------------+-------------------------------------
Comment (by beloko):
Your FFMPEG command gives me an idea : use a little bit shorter fixed GOP
size than the expected duration. About few milliseconds.
{{{
ffmpeg.exe -i
"http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_1080p_30fps_normal.mp4"
-loglevel verbose -threads 0 -c:a aac -sn -c:v libx264 -x264opts
scenecut=-1 -g 99 -keyint_min 99 -r 25 -min_seg_duration 3900000
-window_size 99999 -hls_playlist 1
"C:\inetpub\wwwroot\fmp4_x264\big_bunny.mpd"
}}}
My expected duration is 4 seconds and my framerate is 25 pictures per
seconds.
So 25 * 4 = 100.
Then I set -g 99 -keyint_min 99 instead of -g 100 -keyint_min 100.
Because 1 picture = 0.040000 seconds.
And its already more than 0.010667 seconds.
(4.010667 - 4.000000 = 0.010667)
My video playlist content is :
{{{
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:4
#EXT-X-MEDIA-SEQUENCE:1
#EXT-X-MAP:URI="init-stream0.m4s"
#EXTINF:3.960000,
chunk-stream0-00001.m4s
#EXTINF:3.960000,
chunk-stream0-00002.m4s
#EXTINF:3.960000,
chunk-stream0-00003.m4s
#EXTINF:3.960000,
chunk-stream0-00004.m4s
#EXTINF:3.960000,
chunk-stream0-00005.m4s
#EXTINF:3.960000,
chunk-stream0-00006.m4s
#EXTINF:3.960000,
chunk-stream0-00007.m4s
#EXTINF:3.960000,
chunk-stream0-00008.m4s
#EXTINF:3.960000,
chunk-stream0-00009.m4s
#EXTINF:3.960000,
chunk-stream0-00010.m4s
#EXTINF:3.960000,
chunk-stream0-00011.m4s
#EXTINF:3.960000,
chunk-stream0-00012.m4s
#EXTINF:3.960000,
chunk-stream0-00013.m4s
#EXTINF:3.960000,
chunk-stream0-00014.m4s
#EXTINF:3.960000,
chunk-stream0-00015.m4s
#EXTINF:3.960000,
chunk-stream0-00016.m4s
#EXTINF:3.960000,
chunk-stream0-00017.m4s
#EXTINF:3.960000,
chunk-stream0-00018.m4s
#EXTINF:3.960000,
chunk-stream0-00019.m4s
#EXTINF:3.960000,
chunk-stream0-00020.m4s
...
#EXTINF:3.960000,
chunk-stream0-00150.m4s
#EXTINF:3.960000,
chunk-stream0-00151.m4s
#EXTINF:3.960000,
chunk-stream0-00152.m4s
#EXTINF:3.960000,
chunk-stream0-00153.m4s
#EXTINF:3.960000,
chunk-stream0-00154.m4s
#EXTINF:3.960000,
chunk-stream0-00155.m4s
#EXTINF:3.960000,
chunk-stream0-00156.m4s
#EXTINF:3.960000,
chunk-stream0-00157.m4s
#EXTINF:3.960000,
chunk-stream0-00158.m4s
#EXTINF:3.960000,
chunk-stream0-00159.m4s
#EXTINF:3.960000,
chunk-stream0-00160.m4s
#EXTINF:1.080000,
chunk-stream0-00161.m4s
#EXT-X-ENDLIST
}}}
My audio playlist content is :
{{{
#EXTM3U
#EXT-X-VERSION:6
#EXT-X-TARGETDURATION:4
#EXT-X-MEDIA-SEQUENCE:1
#EXT-X-MAP:URI="init-stream1.m4s"
#EXTINF:3.882667,
chunk-stream1-00001.m4s
#EXTINF:3.968000,
chunk-stream1-00002.m4s
#EXTINF:3.968000,
chunk-stream1-00003.m4s
#EXTINF:3.946667,
chunk-stream1-00004.m4s
#EXTINF:3.968000,
chunk-stream1-00005.m4s
#EXTINF:3.946667,
chunk-stream1-00006.m4s
#EXTINF:3.968000,
chunk-stream1-00007.m4s
#EXTINF:3.968000,
chunk-stream1-00008.m4s
#EXTINF:3.946667,
chunk-stream1-00009.m4s
#EXTINF:3.968000,
chunk-stream1-00010.m4s
#EXTINF:3.968000,
chunk-stream1-00011.m4s
#EXTINF:3.946667,
chunk-stream1-00012.m4s
#EXTINF:3.968000,
chunk-stream1-00013.m4s
#EXTINF:3.946667,
chunk-stream1-00014.m4s
#EXTINF:3.968000,
chunk-stream1-00015.m4s
#EXTINF:3.968000,
chunk-stream1-00016.m4s
#EXTINF:3.946667,
chunk-stream1-00017.m4s
#EXTINF:3.968000,
chunk-stream1-00018.m4s
#EXTINF:3.968000,
chunk-stream1-00019.m4s
#EXTINF:3.946667,
chunk-stream1-00020.m4s
...
#EXTINF:3.946667,
chunk-stream1-00150.m4s
#EXTINF:3.968000,
chunk-stream1-00151.m4s
#EXTINF:3.968000,
chunk-stream1-00152.m4s
#EXTINF:3.946667,
chunk-stream1-00153.m4s
#EXTINF:3.968000,
chunk-stream1-00154.m4s
#EXTINF:3.968000,
chunk-stream1-00155.m4s
#EXTINF:3.946667,
chunk-stream1-00156.m4s
#EXTINF:3.968000,
chunk-stream1-00157.m4s
#EXTINF:3.946667,
chunk-stream1-00158.m4s
#EXTINF:3.968000,
chunk-stream1-00159.m4s
#EXTINF:3.968000,
chunk-stream1-00160.m4s
#EXTINF:0.608000,
chunk-stream1-00161.m4s
#EXT-X-ENDLIST
}}}
All segments durations in video and audio playlists are lower than the
target duration. And the Apple mediastreamvalidator doesn't complain.
{{{
Belokos-Mac:~ beloko$ mediastreamvalidator
http://192.168.1.3/fmp4_x264/master.m3u8
mediastreamvalidator: Version 1.2(170822)
[/fmp4_x264/master.m3u8] Started root playlist download
[media_0.m3u8] Started media playlist download
[media_1.m3u8] Started media playlist download
[media_1.m3u8] parsed media segment count: 75, duration: 300.885
[media_1.m3u8] parsed media segment count: 151, duration: 601.856
Can't deal with multiple sample timings per sample buffer
Can't deal with multiple sample timings per sample buffer
[media_1.m3u8] All media files delivered and have end tag, stopping
[media_0.m3u8] parsed media segment count: 75, duration: 300.960
[media_0.m3u8] parsed media segment count: 151, duration: 601.920
[media_0.m3u8] All media files delivered and have end tag, stopping
--------------------------------------------------------------------------------
media_0.m3u8
--------------------------------------------------------------------------------
Processed 161 out of 161 segments
Average segment duration: 3.942112
Total segment bitrates (all discontinuities): average: 3080.70 kb/s, max:
7709.42 kb/s
Playlist max bitrate: 8111.880000 kb/s
Audio Group ID: media_1
Discontinuity: sequence: 0, parsed segment count: 161 of 161, duration:
634.680 sec, average: 3080.70 kb/s, max: 7709.42 kb/s
Track ID: 1
Video Codec: avc1
Video profile: High
Video level: 4.0
Video resolution: 1920x1080
Video average IDR interval: 3.960000, Standard deviation: 0.000000
Video frame rate: 25.000
--------------------------------------------------------------------------------
media_1.m3u8
--------------------------------------------------------------------------------
Processed 161 out of 161 segments
Average segment duration: 3.938783
Total segment bitrates (all discontinuities): average: 490.64 kb/s, max:
496.00 kb/s
Rendition group ID: media_1
Discontinuity: sequence: 0, parsed segment count: 161 of 161, duration:
634.144 sec, average: 490.64 kb/s, max: 496.00 kb/s
Track ID: 1
Audio Codec: AAC-LC
Audio sample rate: 48000 Hz
Audio channels: 6
Audio channel layout: 5.1 (C L R Ls Rs LFE)
--------------------------------------------------------------------------------
MUST fix issues
--------------------------------------------------------------------------------
Error: Zero sample count
--> Detail: Track ID 295
--> Source: media_1.m3u8 - chunk-stream1-00161.m4s
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/6915#comment:57>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list