ffmpeg -i file.ts -acodec copy -vcodec copy file.vob
или MEncoder:
mencoder -oac copy -ovc copy -of mpeg -mpegopts \
format=dvd -o file.vob file.ts
Однако, если присутствуют ошибки в потоке, может произойти рассинхронизация, или еще что похуже. Для таких случаев существует ровно 3 инструмента:
VideoReDo [Win32]
Работает быстро и качественно. Имеет поддержку скриптования с помощью ActiveX. Платен.
replex
Работает быстро, но плохо. Режим Remux выдает DVD-совместимый MPEG, но при этом видео начинает как-то странно дергаться. Режим Demux выдает "битые" потоки. То есть либо звук, либо видео может кончиться на середине. Хорошо бы такие "битые" потоки как-то исправлять, т.е. находить, в каких местах поток кончается, и исправлять маркер конца на пустой кадр.
ProjectX
Очень странный инструмент, написанный на Java. Странный потому, что, во-первых, работает быстро, а во-вторых, может любой TS-файл разделить на видео и звук, попутно исправляя в них ошибки.
Чтобы получившиеся аудио- и видеопотоки свести вместе в один DVD-совместимый MPEG, лучше всего использовать mplex. И, чтобы не терять даром время, получившийся программный поток можно по конвейеру передавать dvdauthor:
mplex -f 8 -o - file.m2v file.m2a | dvdauthor -t - -o \
path_to_dvd
Только вот mplex не знает, что "-" - это stdout. Это легко исправить. Нужно в файле main.cpp (/mjpegtools-*/mplex) в функцию
int FileOutputStream::Open()
добавить:Описанный выше вариант преобразования MPEG-TS в DVD - пока что единственный рабочий (с использованием фриварных и кроссплатформенных утилит).
Комментариев нет:
Отправить комментарий