Opened 8 years ago
Closed 8 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.