[FFmpeg-trac] #7082(undetermined:new): HLS: m3u8 file is missing the first segment
FFmpeg
trac at avcodec.org
Tue Mar 13 02:11:21 EET 2018
#7082: HLS: m3u8 file is missing the first segment
-------------------------------------+-------------------------------------
Reporter: | Type: defect
stefantalpalaru | Priority: normal
Status: new | Version: 3.4
Component: | Blocked By:
undetermined | Reproduced by developer: 0
Keywords: |
Blocking: |
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Summary of the bug: a certain mp4 input file results in a m3u8 mapping
with a missing first segment
How to reproduce (HLSv4):
{{{
% ffmpeg -i https://senatus.net/media/files/senatus_5GNqzN.mp4 -hls_time
10 -hls_list_size 10 -hls_flags single_file -hls_segment_filename
senatus_5GNqzN_orig.ts -c copy out.m3u8
}}}
The resulting out.m3u8 is missing the first segment:
{{{
#EXTM3U
#EXT-X-VERSION:4
#EXT-X-TARGETDURATION:16
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:11.644967,
#EXT-X-BYTERANGE:2399444 at 1591984
senatus_5GNqzN_orig.ts
#EXTINF:10.477133,
#EXT-X-BYTERANGE:2011036 at 3991428
senatus_5GNqzN_orig.ts
#EXTINF:8.141467,
#EXT-X-BYTERANGE:1340628 at 6002464
senatus_5GNqzN_orig.ts
#EXTINF:10.643967,
#EXT-X-BYTERANGE:1986596 at 7343092
senatus_5GNqzN_orig.ts
#EXTINF:9.376033,
#EXT-X-BYTERANGE:1459820 at 9329688
senatus_5GNqzN_orig.ts
#EXTINF:10.176833,
#EXT-X-BYTERANGE:1259224 at 10789508
senatus_5GNqzN_orig.ts
#EXTINF:10.176833,
#EXT-X-BYTERANGE:1676772 at 12048732
senatus_5GNqzN_orig.ts
#EXTINF:15.982633,
#EXT-X-BYTERANGE:2827520 at 13725504
senatus_5GNqzN_orig.ts
#EXTINF:4.604600,
#EXT-X-BYTERANGE:201912 at 16553024
senatus_5GNqzN_orig.ts
#EXTINF:4.938967,
#EXT-X-BYTERANGE:461916 at 16754936
senatus_5GNqzN_orig.ts
#EXT-X-ENDLIST
}}}
An HLSv3 file also misses the first 10s segment:
{{{
ffmpeg -y -i https://senatus.net/media/files/senatus_5GNqzN.mp4 -hls_time
10 -hls_list_size 10 -c copy out2.m3u8
}}}
results in:
{{{
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:16
#EXT-X-MEDIA-SEQUENCE:1
#EXTINF:11.644967,
out21.ts
#EXTINF:10.477133,
out22.ts
#EXTINF:8.141467,
out23.ts
#EXTINF:10.643967,
out24.ts
#EXTINF:9.376033,
out25.ts
#EXTINF:10.176833,
out26.ts
#EXTINF:10.176833,
out27.ts
#EXTINF:15.982633,
out28.ts
#EXTINF:4.604600,
out29.ts
#EXTINF:4.938967,
out210.ts
#EXT-X-ENDLIST
}}}
(there should be an "out20.ts" in the first position and the ts file is
generated, just not added to the m3u8 file)
There are no errors in the ffmpeg output. Here's the one for the first
command:
{{{
ffmpeg version 3.4.2 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 7.3.0 (Gentoo 7.3.0 p1.0)
configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64
--docdir=/usr/share/doc/ffmpeg-3.4.2/html --mandir=/usr/share/man
--enable-shared --cc=x86_64-pc-linux-gnu-gcc --cxx=x86_64-pc-linux-gnu-g++
--ar=x86_64-pc-linux-gnu-ar --optflags='-O3 -march=native -pipe'
--disable-static --enable-avfilter --enable-avresample --disable-stripping
--enable-nonfree --disable-indev=v4l2 --disable-outdev=v4l2 --disable-
indev=oss --disable-outdev=oss --enable-nonfree --enable-bzlib --disable-
runtime-cpudetect --disable-debug --disable-gcrypt --disable-gnutls
--disable-gmp --enable-gpl --enable-hardcoded-tables --enable-iconv
--enable-lzma --enable-network --enable-openssl --enable-postproc
--disable-libsmbclient --enable-ffplay --enable-sdl2 --enable-vaapi
--enable-vdpau --enable-xlib --enable-libxcb --enable-libxcb-shm --enable-
libxcb-xfixes --enable-zlib --disable-libcdio --disable-libiec61883
--disable-libdc1394 --disable-libcaca --disable-openal --enable-opengl
--disable-libv4l2 --disable-libpulse --disable-libdrm --disable-
libopencore-amrwb --disable-libopencore-amrnb --enable-libfdk-aac
--disable-libopenjpeg --disable-libbluray --disable-libcelt --disable-
libgme --disable-libgsm --disable-mmal --disable-libmodplug --enable-
libopus --disable-libilbc --disable-librtmp --disable-libssh --enable-
libspeex --enable-librsvg --enable-libvorbis --enable-libvpx --enable-
libzvbi --disable-appkit --disable-libbs2b --disable-chromaprint
--disable-libflite --disable-frei0r --disable-libfribidi --enable-
fontconfig --enable-ladspa --enable-libass --enable-libfreetype --disable-
librubberband --disable-libzmq --disable-libzimg --disable-libsoxr
--enable-pthreads --disable-libvo-amrwbenc --enable-libmp3lame --disable-
libkvazaar --disable-nvenc --disable-libopenh264 --disable-libsnappy
--enable-libtheora --disable-libtwolame --disable-libwavpack --enable-
libwebp --enable-libx264 --enable-libx265 --enable-libxvid --disable-
armv5te --disable-armv6 --disable-armv6t2 --disable-neon --disable-vfp
--disable-vfpv3 --disable-armv8 --disable-mipsdsp --disable-mipsdspr2
--disable-mipsfpu --disable-altivec --disable-amd3dnow --disable-
amd3dnowext --disable-avx2 --cpu=host --disable-doc --disable-htmlpages
--enable-manpages
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
'https://senatus.net/media/files/senatus_5GNqzN.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.83.100
Duration: 00:01:46.46, start: 0.000000, bitrate: 1235 kb/s
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 /
0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 1101 kb/s, 29.97 fps,
29.97 tbr, 30k tbn, 59.94 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz,
stereo, fltp, 128 kb/s (default)
Metadata:
handler_name : SoundHandler
[hls @ 0x559156248d40] Opening 'senatus_5GNqzN_orig.ts' for writing
Output #0, hls, to 'out.m3u8':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf57.83.100
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 /
0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 1101 kb/s,
29.97 fps, 29.97 tbr, 90k tbn, 29.97 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz,
stereo, fltp, 128 kb/s (default)
Metadata:
handler_name : SoundHandler
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Press [q] to stop, [?] for help
[hls @ 0x559156248d40] Opening 'out.m3u8.tmp' for writingate=N/A
speed=4.54x
[hls @ 0x559156248d40] Opening 'out.m3u8.tmp' for writingate=N/A
speed=4.19x
[hls @ 0x559156248d40] Opening 'out.m3u8.tmp' for writingate=N/A speed=
4.2x
[hls @ 0x559156248d40] Opening 'out.m3u8.tmp' for writingate=N/A
speed=4.52x
[hls @ 0x559156248d40] Opening 'out.m3u8.tmp' for writingate=N/A
speed=4.94x
[hls @ 0x559156248d40] Opening 'out.m3u8.tmp' for writingate=N/A
speed=5.29x
[hls @ 0x559156248d40] Opening 'out.m3u8.tmp' for writingate=N/A
speed=5.29x
[hls @ 0x559156248d40] Opening 'out.m3u8.tmp' for writingate=N/A speed=
5.9x
[hls @ 0x559156248d40] Opening 'out.m3u8.tmp' for writingate=N/A
speed=5.76x
Last message repeated 1 times
[hls @ 0x559156248d40] Opening 'out.m3u8.tmp' for writingate=N/A
speed=6.27x
frame= 3189 fps=193 q=-1.0 Lsize=N/A time=00:01:46.39 bitrate=N/A
speed=6.45x
video:14306kB audio:1666kB subtitle:0kB other streams:0kB global
headers:0kB muxing overhead: unknown
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/7082>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list