[FFmpeg-user] WebVTT demuxer ignores processing every 1st line of each follow-up HLS webvtt-segment
Reino Wijnsma
rwijnsma at xs4all.nl
Mon Feb 17 01:26:29 EET 2020
Hello ffmpeg-user,
While reading this <https://github.com/ytdl-org/youtube-dl/issues/18796#issuecomment-583782299> Github-issue-comment and testing the mentioned HLS-webvtt-url I first of all noticed that, unlike the user claims, ffmpeg does demux all the webvtt-segments. Why this is not happening for this user is most likely because of the old ffmpeg-binary he/she uses.
Secondly, what does happen is that ffmpeg doesn't remove the 2nd line of each webvtt-segment (except for the 1st segment).
The first webvtt-segment, 'https://ga.video.cdn.pbs.org/videos/frontline/8f769cee-b6d6-437d-80b5-74252ed7642d/2000150564/hd-16x9-mezzanine-1080p/00003717fes-captions0.vtt':
WEBVTT
X-TIMESTAMP-MAP=MPEGTS:187507, LOCAL:00:00:00.000
00:13.400 --> 00:17.400 position:10%,start line:85% size:80%
♪ ♪
00:17.400 --> 00:20.080 position:10%,start line:85% size:80%
WAAD (speaking Arabic):
[...]
03:11.320 --> 03:13.400 position:10%,start line:85% size:80%
(explosion roars)
With [ffmpeg -i https://ga.video.cdn.pbs.org/videos/frontline/8f769cee-b6d6-437d-80b5-74252ed7642d/2000150564/hd-16x9-mezzanine-1080p/00003717fes-captions0.vtt 00003717fes-captions0.vtt] ffmpeg converts this to...
WEBVTT
00:13.400 --> 00:17.400
♪ ♪
00:17.400 --> 00:20.080
WAAD (speaking Arabic):
[...]
03:11.320 --> 03:13.400
(explosion roars)
...which is expected.
Converting the entire stream with [ffmpeg -i https://ga.video.cdn.pbs.org/videos/frontline/8f769cee-b6d6-437d-80b5-74252ed7642d/2000150564/hd-16x9-mezzanine-1080p/00003717fes-captions.m3u8 00003717fes-captions.vtt] ffmpeg puts out...
WEBVTT
00:13.400 --> 00:17.400
♪ ♪
00:17.400 --> 00:20.080
WAAD (speaking Arabic):
[...]
03:11.320 --> 03:13.400
(explosion roars)
WEBVTT
X-TIMESTAMP-MAP=MPEGTS:187507, LOCAL:00:00:00.000
03:11.320 --> 03:13.400
(explosion roars)
[...]
05:56.440 --> 05:59.320
WAAD:
WEBVTT
X-TIMESTAMP-MAP=MPEGTS:187507, LOCAL:00:00:00.000
06:14.720 --> 06:16.800
(numerous explosions booming)
[...]
09:09.400 --> 09:12.960
MAN:
WEBVTT
X-TIMESTAMP-MAP=MPEGTS:187507, LOCAL:00:00:00.000
09:23.400 --> 09:25.440
SOLDIER:
[...]
So the very first "WEBVTT\nX-TIMESTAMP-MAP=MPEGTS:187507, LOCAL:00:00:00.000" does become "WEBVTT" and all the following instances (at the beginning of each webvtt-segment) should've been removed, but are simply ignored/copied.
Also allowing duplicate entries ("03:11.320 --> 03:13.400\n(explosion roars)") is weird to say the least.
FFmpeg used:
ffmpeg version N-96249-g81172b5-Reino Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 9.2.0 (GCC)
configuration: --arch=x86 --target-os=mingw32 --cross-prefix=/cygdrive/m/ffmpeg-windows-build-helpers-master/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/bin/i686-w64-mingw32- --pkg-config=pkg-config --pkg-config-flags=--static --extra-version=Reino --enable-gray --enable-version3 --disable-debug --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-w32threads --enable-avisynth --enable-frei0r --enable-filter=frei0r --enable-gmp --enable-gpl --enable-libaom --enable-libass --enable-libfdk-aac --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libmp3lame --enable-libopenmpt --enable-libopus --enable-libsoxr --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-mbedtls --extra-cflags='-march=pentium3' --extra-cflags='-mtune=athlon-xp' --extra-cflags=-O2 --extra-cflags='-mfpmath=sse'
--extra-cflags=-msse --enable-static --disable-shared --prefix=/cygdrive/m/ffmpeg-windows-build-helpers-master/ffmpeg_local_builds/sandbox/cross_compilers/mingw-w64-i686/i686-w64-mingw32
libavutil 56. 38.100 / 56. 38.100
libavcodec 58. 65.102 / 58. 65.102
libavformat 58. 35.101 / 58. 35.101
libavdevice 58. 9.102 / 58. 9.102
libavfilter 7. 70.101 / 7. 70.101
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
-- Reino
More information about the ffmpeg-user
mailing list