[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