[FFmpeg-trac] #9238(avformat:new): Unexpected EXT-X-PROGRAM-DATE-TIME tags are added to old hls segment list
FFmpeg
trac at avcodec.org
Wed May 12 12:13:13 EEST 2021
#9238: Unexpected EXT-X-PROGRAM-DATE-TIME tags are added to old hls segment list
----------------------------------+--------------------------------------
Reporter: litzh | Type: defect
Status: new | Priority: normal
Component: avformat | Version: git-master
Keywords: HLS | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
----------------------------------+--------------------------------------
Summary of the bug:
When I try to append new segments into old hls segment list. Unexpected
`EXT-X-PROGRAM-DATE-TIME` tags are added to old hls segment list.
How to reproduce:
`bbb.mp4` is a 10 seconds clip from Big Buck Bunny.
1. Convert MP4 into HLS:
{{{
$ ffmpeg_g -y -i bbb.mp4 -vcodec copy -acodec copy -hls_time 4 -hls_flags
append_list -hls_list_size 0 -hls_segment_filename bbb-%04d.ts -f hls
hls.m3u8
ffmpeg version N-102515-g175f675f7b Copyright (c) 2000-2021 the FFmpeg
developers
built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
configuration: --pkg-config-flags=--static --extra-ldflags='-ldl -lm
-lpthread -lrt -lstdc++ -static' --enable-gpl --enable-nonfree --enable-
version3 --extra-libs=-ldl --disable-programs --enable-ffmpeg --enable-
ffprobe --enable-static
libavutil 57. 0.100 / 57. 0.100
libavcodec 59. 1.100 / 59. 1.100
libavformat 59. 0.101 / 59. 0.101
libavdevice 59. 0.100 / 59. 0.100
libavfilter 8. 0.101 / 8. 0.101
libswscale 6. 0.100 / 6. 0.100
libswresample 4. 0.100 / 4. 0.100
libpostproc 56. 0.100 / 56. 0.100
Guessed Channel Layout for Input Stream #0.1 : 5.1
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'bbb.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
title : Big Buck Bunny, Sunflower version
artist : Blender Foundation 2008, Janus Bager Kristensen 2013
composer : Sacha Goedegebure
encoder : Lavf58.45.100
comment : Creative Commons Attribution 3.0 -
http://bbb3d.renderfarming.net
genre : Animation
Duration: 00:00:10.08, start: 0.000000, bitrate: 1380 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
1280x720 [SAR 1:1 DAR 16:9], 979 kb/s, 60 fps, 60 tbr, 15360 tbn (default)
Metadata:
handler_name : GPAC ISO Video Handler
vendor_id : [0][0][0][0]
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1,
fltp, 394 kb/s (default)
Metadata:
handler_name : GPAC ISO Audio Handler
vendor_id : [0][0][0][0]
Output #0, hls, to 'hls.m3u8':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
title : Big Buck Bunny, Sunflower version
artist : Blender Foundation 2008, Janus Bager Kristensen 2013
composer : Sacha Goedegebure
genre : Animation
comment : Creative Commons Attribution 3.0 -
http://bbb3d.renderfarming.net
encoder : Lavf59.0.101
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
1280x720 [SAR 1:1 DAR 16:9], q=2-31, 979 kb/s, 60 fps, 60 tbr, 90k tbn
(default)
Metadata:
handler_name : GPAC ISO Video Handler
vendor_id : [0][0][0][0]
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1,
fltp, 394 kb/s (default)
Metadata:
handler_name : GPAC ISO Audio Handler
vendor_id : [0][0][0][0]
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[hls @ 0x33492c0] Opening 'bbb-0000.ts' for writing0 bitrate=N/A speed=
0x
[hls @ 0x33492c0] Opening 'hls.m3u8.tmp' for writing
[hls @ 0x33492c0] Opening 'bbb-0001.ts' for writing
[hls @ 0x33492c0] Opening 'hls.m3u8.tmp' for writing
[hls @ 0x33492c0] Opening 'bbb-0002.ts' for writing
[hls @ 0x33492c0] Opening 'hls.m3u8.tmp' for writing
frame= 602 fps=0.0 q=-1.0 Lsize=N/A time=00:00:10.00 bitrate=N/A speed=
923x
video:1199kB audio:483kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: unknown
}}}
2. There is no `EXT-X-PROGRAM-DATE-TIME` tag in m3u8 file:
{{{
$ cat hls.m3u8
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:4
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-DISCONTINUITY
#EXTINF:4.166667,
bbb-0000.ts
#EXTINF:4.166667,
bbb-0001.ts
#EXTINF:1.700000,
bbb-0002.ts
#EXT-X-ENDLIST
}}}
3. Append new segments into old hls segment list:
{{{
$ ffmpeg_g -y -i bbb.mp4 -vcodec copy -acodec copy -hls_time 4 -hls_flags
append_list -hls_list_size 0 -hls_segment_filename bbb-%04d.ts -f hls
hls.m3u8
ffmpeg version N-102515-g175f675f7b Copyright (c) 2000-2021 the FFmpeg
developers
built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
configuration: --pkg-config-flags=--static --extra-ldflags='-ldl -lm
-lpthread -lrt -lstdc++ -static' --enable-gpl --enable-nonfree --enable-
version3 --extra-libs=-ldl --disable-programs --enable-ffmpeg --enable-
ffprobe --enable-static
libavutil 57. 0.100 / 57. 0.100
libavcodec 59. 1.100 / 59. 1.100
libavformat 59. 0.101 / 59. 0.101
libavdevice 59. 0.100 / 59. 0.100
libavfilter 8. 0.101 / 8. 0.101
libswscale 6. 0.100 / 6. 0.100
libswresample 4. 0.100 / 4. 0.100
libpostproc 56. 0.100 / 56. 0.100
Guessed Channel Layout for Input Stream #0.1 : 5.1
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'bbb.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
title : Big Buck Bunny, Sunflower version
artist : Blender Foundation 2008, Janus Bager Kristensen 2013
composer : Sacha Goedegebure
encoder : Lavf58.45.100
comment : Creative Commons Attribution 3.0 -
http://bbb3d.renderfarming.net
genre : Animation
Duration: 00:00:10.08, start: 0.000000, bitrate: 1380 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
1280x720 [SAR 1:1 DAR 16:9], 979 kb/s, 60 fps, 60 tbr, 15360 tbn (default)
Metadata:
handler_name : GPAC ISO Video Handler
vendor_id : [0][0][0][0]
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1,
fltp, 394 kb/s (default)
Metadata:
handler_name : GPAC ISO Audio Handler
vendor_id : [0][0][0][0]
Output #0, hls, to 'hls.m3u8':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
title : Big Buck Bunny, Sunflower version
artist : Blender Foundation 2008, Janus Bager Kristensen 2013
composer : Sacha Goedegebure
genre : Animation
comment : Creative Commons Attribution 3.0 -
http://bbb3d.renderfarming.net
encoder : Lavf59.0.101
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p,
1280x720 [SAR 1:1 DAR 16:9], q=2-31, 979 kb/s, 60 fps, 60 tbr, 90k tbn
(default)
Metadata:
handler_name : GPAC ISO Video Handler
vendor_id : [0][0][0][0]
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, 5.1,
fltp, 394 kb/s (default)
Metadata:
handler_name : GPAC ISO Audio Handler
vendor_id : [0][0][0][0]
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[hls @ 0x3bba2c0] Opening 'bbb-0003.ts' for writing0 bitrate=N/A speed=
0x
[hls @ 0x3bba2c0] Opening 'hls.m3u8.tmp' for writing
[hls @ 0x3bba2c0] Opening 'bbb-0004.ts' for writing
[hls @ 0x3bba2c0] Opening 'hls.m3u8.tmp' for writing
[hls @ 0x3bba2c0] Opening 'bbb-0005.ts' for writing
[hls @ 0x3bba2c0] Opening 'hls.m3u8.tmp' for writing
frame= 602 fps=0.0 q=-1.0 Lsize=N/A time=00:00:10.00 bitrate=N/A
speed=1.02e+03x
video:1199kB audio:483kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: unknown
}}}
4. Unexpected `EXT-X-PROGRAM-DATE-TIME` tags are found:
{{{
$ cat hls.m3u8
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:4
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-DISCONTINUITY
#EXTINF:4.166667,
bbb-0000.ts
#EXTINF:4.166667,
#EXT-X-PROGRAM-DATE-TIME:1970-01-01T08:00:04.167+0800
bbb-0001.ts
#EXTINF:1.700000,
#EXT-X-PROGRAM-DATE-TIME:1970-01-01T08:00:08.333+0800
bbb-0002.ts
#EXT-X-DISCONTINUITY
#EXTINF:4.166667,
bbb-0003.ts
#EXTINF:4.166667,
bbb-0004.ts
#EXTINF:1.700000,
bbb-0005.ts
#EXT-X-ENDLIST
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/9238>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list