Я пытаюсь "вставить" созданный на заказ файл субтитров (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 2.1.0 Rincewind (версия 2.1.0-0-gedd8835).
РЕДАКТИРОВАТЬ: Я также пробовал разные кодировщики (venc=ffmpeg), разные кодеки (codec=VP80), разные мультплексоры (ffmpeg/webm), и все они в разной степени не справляются (самый худший из них выдал видео длительностью 0:39). Теперь я почти уверен, что это как-то связано конкретно с VLC.
ПРАВКА 2: Сначала я попробовал перекодировать в WebM с помощью ffmpeg; мне это удалось без происшествий (и полученное видео было нужной длины), но когда я попытался использовать VLC, чтобы добавить субтитры в видео WebM, полученное с помощью ffmpeg, возникли те же проблемы.