Opened 9 years ago
Closed 9 years ago
#4783 closed defect (fixed)
Converting vtt-subtitles to srt results in overlap.
Reported by: | CoRoNe | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | undetermined |
Version: | git-master | Keywords: | webvtt srt sub |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | yes | |
Analyzed by developer: | no |
Description
Summary of the bug:
Upon converting vtt-subtitles to srt, I noticed the timecodes to have been slightly changed with overlap as a result. I can't believe this is intended. I do notice the ',' instead of the '.', but why are the timecodes recalculated?
vtt-input excerpt:
6 00:00:15.011 --> 00:00:19.017 en de Belgische publicist Johan Op de Beeck over Napoleon en de slag bij Waterloo. 7 00:00:19.017 --> 00:00:22.006 Dit is Buitenhof op zondag 14 juni.
srt-output excerpt:
6 00:00:15,011 --> 00:00:19,021 en de Belgische publicist Johan Op de Beeck over Napoleon en de slag bij Waterloo. 7 00:00:19,017 --> 00:00:22,007 Dit is Buitenhof op zondag 14 juni.
How to reproduce:
ffmpeg.exe -v 9 -loglevel 99 -sub_charenc CP1252 -i "http://e.omroep.nl/tt888/VPWON _1232772" "Buitenhof (14062015).srt" ffmpeg version N-74462-g737aa90 Copyright (c) 2000-2015 the FFmpeg developers built with gcc 4.9.3 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisy nth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-ico nv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-li bdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --ena ble-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore- amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroeding er --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enab le-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --en able-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --enable-decklink --enable-zlib libavutil 54. 30.100 / 54. 30.100 libavcodec 56. 57.100 / 56. 57.100 libavformat 56. 40.101 / 56. 40.101 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 34.100 / 5. 34.100 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc 53. 3.100 / 53. 3.100 Splitting the commandline. Reading option '-v' ... matched as option 'v' (set logging level) with argument '9' . Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) wit h argument '99'. Reading option '-sub_charenc' ... matched as AVOption 'sub_charenc' with argument ' CP1252'. Reading option '-i' ... matched as input file with argument 'http://e.omroep.nl/tt8 88/VPWON_1232772'. Reading option '..\Buitenhof (14062015)2.srt' ... matched as output file. Finished splitting the commandline. Parsing a group of options: global . Applying option v (set logging level) with argument 9. Successfully parsed a group of options. Parsing a group of options: input file http://e.omroep.nl/tt888/VPWON_1232772. Successfully parsed a group of options. Opening an input file: http://e.omroep.nl/tt888/VPWON_1232772. [http @ 0322a6a0] request: GET /tt888/VPWON_1232772 HTTP/1.1 User-Agent: Lavf/56.40.101 Accept: */* Range: bytes=0- Connection: close Host: e.omroep.nl Icy-MetaData: 1 [http @ 0322a6a0] header='HTTP/1.1 200 OK' [http @ 0322a6a0] http_code=200 [http @ 0322a6a0] header='Date: Tue, 18 Aug 2015 14:10:51 GMT' [http @ 0322a6a0] header='Server: Apache' [http @ 0322a6a0] header='Cache-Control: private, max-age=300, must-revalidate' [http @ 0322a6a0] header='Expires: Tue, 18 Aug 2015 14:15:51 GMT' [http @ 0322a6a0] header='Last-Modified: Tue, 18 Aug 2015 14:10:51 GMT' [http @ 0322a6a0] header='Access-Control-Allow-Origin: *' [http @ 0322a6a0] header='Connection: close' [http @ 0322a6a0] header='Transfer-Encoding: chunked' [http @ 0322a6a0] header='Content-Type: text/vtt' [http @ 0322a6a0] header='' Chunked encoding data size: 61989' Probing webvtt score:100 size:2048 [webvtt @ 03229e00] Format webvtt probed with size=2048 and score=100 Chunked encoding data size: 0' [webvtt @ 03229e00] Before avformat_find_stream_info() pos: 61989 bytes read:61989 seeks:0 [webvtt @ 03229e00] All info found [webvtt @ 03229e00] 0: start_time: -9223372036854.775 duration: -9223372036854.775 [webvtt @ 03229e00] stream: start_time: -9223372036854.775 duration: -9223372036854 .775 bitrate=0 kb/s [webvtt @ 03229e00] After avformat_find_stream_info() pos: 61989 bytes read:61989 s eeks:0 frames:0 Input #0, webvtt, from 'http://e.omroep.nl/tt888/VPWON_1232772': Duration: N/A, bitrate: N/A Stream #0:0, 0, 1/1000: Subtitle: webvtt Successfully opened the file. Parsing a group of options: output file Buitenhof (14062015).srt. Successfully parsed a group of options. Opening an output file: Buitenhof (14062015).srt. Successfully opened the file. Output #0, srt, to 'Buitenhof (14062015).srt': Metadata: encoder : Lavf56.40.101 Stream #0:0, 0, 1/1000: Subtitle: subrip (srt) Metadata: encoder : Lavc56.57.100 srt Stream mapping: Stream #0:0 -> #0:0 (webvtt (native) -> subrip (srt)) Press [q] to stop, [?] for help No more output streams to write to, finishing. size= 61kB time=00:53:41.00 bitrate= 0.2kbits/s video:0kB audio:0kB subtitle:34kB other streams:0kB global headers:0kB muxing overh ead: 79.587402% Input file #0 (http://e.omroep.nl/tt888/VPWON_1232772): Input stream #0:0 (subtitle): 766 packets read (46661 bytes); 766 frames decoded; Total: 766 packets (46661 bytes) demuxed Output file #0 (Buitenhof (14062015).srt): Output stream #0:0 (subtitle): 766 frames encoded; 766 packets muxed (34513 bytes ); Total: 766 packets (34513 bytes) muxed 766 frames successfully decoded, 0 decoding errors [AVIOContext @ 03257720] Statistics: 0 seeks, 766 writeouts [AVIOContext @ 03234500] Statistics: 61989 bytes read, 0 seeks
Or you can use "Buitenhof (14062015).vtt" in the attachment as input.
Attachments (1)
Change History (6)
by , 9 years ago
Attachment: | Buitenhof (14062015).vtt added |
---|
comment:1 by , 9 years ago
Keywords: | webvtt added; vtt overlap removed |
---|---|
Reproduced by developer: | set |
Status: | new → open |
Version: | unspecified → git-master |
comment:2 by , 9 years ago
Keywords: | sub added |
---|
comment:3 by , 9 years ago
This is a rounding bug that happens because all subtitles are passed through the ASS code, which has lower precision. I fixed this a while ago for SRT in our FFmpeg fork (see https://github.com/tupil/FFmpeg/commit/f0e98dd3b1e21abe1a83f8ac0d85f8fbf3ae47e7). I will supply a patch to ffmpeg-devel soon.
comment:4 by , 9 years ago
This is a long standing design issue. A patchset was sent a few minutes ago on the ml to address the issue. The patch fixing that exact issue can be find here: http://ffmpeg.org/pipermail/ffmpeg-devel/2016-February/189830.html
comment:5 by , 9 years ago
Resolution: | → fixed |
---|---|
Status: | open → closed |
Works fine with ass afaict.