Я пытаюсь "запечь" специально созданный файл субтитров (Advanced SubStation Alpha) для короткого (3:46) видео. Тем не менее, несмотря на попытки выбора параметров командной строки, VLC, похоже, всегда обрезает конец видео. В зависимости от параметров он отключается от нескольких секунд до примерно 1:05.
Основной формат команд, которые я пробовал, выглядит следующим образом:
vlc -v tdcutb.mp4 --run-time 300 --sub-file=tdcutb2.ass \
--sub-track=1 -I rc --sout-transcode-threads 8 --sout \
'#transcode{venc=x264'\
'{crf=15,keyint=50,no-mixed-refs,ref=4,subme=7,weightp=2,me=umh},'\
'vcodec=mp4v,vb=4096,acodec=mpga,ab=128,soverlay}'\
':standard{mux=mp4,dst=tdcutb-sub.mp4,access=file}' vlc://quit
Я возился с различными значениями --run-time
(а также полностью его опускал) и различными параметрами x264 (с / без crf, указанным с использованием значений от 10 до 25, keyint от 10 до 250, ref от 1 до 4, subme от 0 до 7, weightp от 0 до 2). Я также попытался настроить VB.
Я обнаружил, что понижение keyint
имеет тенденцию становиться "ближе" к полной длине, но при значениях <100 размер файла начинает становиться смешным, и он все еще не становится полной длины. Как ни странно, уменьшение subme
кажется, немного помогает, но оно также не дает мне вывод полной длины и снижает качество.
К вашему сведению, я использую Mac OS X 10.9.4 и VLC media player 2.1.0 Rincewind (редакция 2.1.0-0-gedd8835).
РЕДАКТИРОВАТЬ: я теперь также пробовал разные кодеры (venc = ffmpeg), разные кодеки (codec = VP80), разные муксеры (ffmpeg/webm), и все они не в разной степени (худший преступник выдает 0:39 видео). Теперь я почти уверен, что это как-то связано с VLC.
РЕДАКТИРОВАТЬ 2: я попытался перекодировать в WebM сначала с помощью ffmpeg; Я закончил это без инцидентов (и полученное видео было правильной длины), но когда я использовал VLC, чтобы попытаться выпекать субтитры на видео WebM, которое я получил от ffmpeg, оно столкнулось с теми же проблемами.