Opened 6 years ago
Closed 6 years ago
#7183 closed defect (invalid)
Concat very slow with dvd_subtitles
Reported by: | oerg866 | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | undetermined |
Version: | unspecified | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug:
FFMPEG will process concatenation of vob files with subtitles agonizingly slowly (less than real time speed on my i9-7900x with stream copy!) and the progress display is erratic.
How to reproduce:
ffmpeg f concat -safe 0 -i list.txt -vcodec copy -acodec pcm_s16be -scodec copy mux.vob
list.txt contains several vob files with MPEG2 video, LPCM audio and subtitles.
Separate concat with several files that have video, audio and subtitles and then remuxing to a final output works infinitely faster, like so:
ffmpeg -f concat -safe 0 -i list.txt -vcodec copy -acodec pcm_s16be mux1.vob ffmpeg -f concat -safe 0 -i list.txt -vn -an -scodec copy mux2.vob ffmpeg -i mux1.vob -i mux2.vob -map 0:v -map 0:a -map 1:s -vcodec copy -acodec pcm_s16be -scodec copy mux.vob
HOWEVER, this breaks subtitle timing (they play about two seconds too early. Also potential bug?)
Below is a sample of ffmpeg's console output with the buggy command.
C:\OUTPUT>ffmpeg -f concat -safe 0 -i list.txt -vcodec copy -acodec pcm_s16be -scodec copy mux.vob ffmpeg version N-86691-gc885356 Copyright (c) 2000-2017 the FFmpeg developers built with gcc 7.1.0 (GCC) configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-zlib libavutil 55. 67.100 / 55. 67.100 libavcodec 57.100.103 / 57.100.103 libavformat 57. 75.100 / 57. 75.100 libavdevice 57. 7.100 / 57. 7.100 libavfilter 6. 94.100 / 6. 94.100 libswscale 4. 7.101 / 4. 7.101 libswresample 2. 8.100 / 2. 8.100 libpostproc 54. 6.100 / 54. 6.100 Guessed Channel Layout for Input Stream #0.1 : stereo Input #0, concat, from 'list.txt': Duration: N/A, start: 0.000000, bitrate: N/A Stream #0:0: Video: mpeg2video (Main), yuv420p(tv, bottom first), 720x576 [SAR 16:15 DAR 4:3], 25 fps, 25 tbr, 90k tbn, 90k tbc Stream #0:1: Audio: pcm_dvd, 48000 Hz, stereo, s16, 1536 kb/s Stream #0:2: Subtitle: dvd_subtitle File 'mux.vob' already exists. Overwrite ? [y/N] y Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (pcm_dvd (native) -> pcm_s16be (native)) Stream #0:2 -> #0:2 (copy) Press [q] to stop, [?] for help [svcd @ 0000000004928b60] VBV buffer size not set, using default size of 130KB If you want the mpeg file to be compliant to some specification Like DVD, VCD or others, make sure you set the correct buffer size Output #0, svcd, to 'mux.vob': Metadata: encoder : Lavf57.75.100 Stream #0:0: Video: mpeg2video (Main), yuv420p(tv, bottom first), 720x576 [SAR 16:15 DAR 4:3], q=2-31, 25 fps, 25 tbr, 90k tbn, 90k tbc Stream #0:1: Audio: pcm_s16be, 48000 Hz, stereo, s16, 1536 kb/s Metadata: encoder : Lavc57.100.103 pcm_s16be Stream #0:2: Subtitle: dvd_subtitle frame= 2003 fps=159 q=-1.0 size= 944kB time=00:01:20.04 bitrate= 96.6kbits/s speed=6.34x
Replying to oerg866:
Looks much faster than real-time.
In any case, the speed of this operation is not related to your cpu but your drive speed.