LINUX.ORG.RU

dvdauthor, ffmpeg, mencoder

 ,


1

1

Маленькая зарисовка из жизни.

Есть видеофайл MPEG (изначально DVD-рип), запись сезона одного сериала. Стоит задача - нарезать его обратно на DVD так, чтобы можно было посмотреть на бытовом проигрывателе за $10, да не просто куском, а с меню, чтобы ты кнопочку - тыц и оно тебе эпизод - рраз!

Внезапно оказалось, что сие сделать совсем не так просто.

Конвертировать ничего не нужно - качество и размер уже устраивает - нужно преобразовать контейнер в тот, который скушает dvdauthor. FFmpeg это делает, но почему-то...

ffmpeg -i side_a.mpeg -codec copy -f dvd p1.mp4

было:

Stream #0:0[0x1e0]: Video: mpeg2video (Main), ...

Stream #0:1[0x80]: Audio: ac3, ...

стало:

Stream #0:0[0x1bf]: Data: dvd_nav_packet

Stream #0:1[0x80]: Audio: ac3, ...

Stream #0:2[0x1e0]: Video: mpeg2video (Main), ...

Т.е видео- и аудио- потоки поменялись местами. И вроде бы ничего страшного, любой плеер это съест и не подавится - это, в принципе, норма. Но вот dvdauthor кушать такие файлы отказывается - молвит человечьим голосом, что нет внутри контейнера видео - он рассчитывает на то, что видеопоток будет в файле первым! С другой стороны, никакими хитростями (-map и тп) не удается заставить FFmpeg поменять потоки местами обратно в рамках указанного контейнера. В avi - пожалуйста, в mpeg - тоже меняется, а вот в dvd - обломс.

В багзиллах обоих проектов (FFmpeg и dvdauthor) данный баг висит уже не первый год, но исправления нет до сих пор.

Есть еще mencoder, но с ним еще интереснее. Во-первых, в нужный формат он не конвертирует. Во-вторых, если его использовать как промежуточное звено (сначала из MPEG в что-нибудь, потом - уже при помощи FFmpeg - из чего-нибудь в нужный формат), потоки местами поменять удается, но mencoder вносит в процессе перекодирования совершенно жуткий рассинхрон между аудио и видео, который ничем не лечится.

К чему это я? Просто работать в Linux с видео и аудио невероятно удобно и эффективно :)

Ответ на: комментарий от RedEyedMan3

Попробовать воспроизвести не?

Знание версий для этого не нужно.

Недавний регистрант, как и ты :)

Ой, я и забыл уже.

Gicdillah ()

К чему это я? Просто работать в Linux с видео и аудио невероятно удобно и эффективно :)

Разрешаю тебе решить эту проблему без Linux.

Krieger_Od ★★ ()
Ответ на: комментарий от Gicdillah

В посте сказано - указание этих опций ничего не дает для конкретно этого контейнера. Если выбрать -f mpeg или -f avi, опции работают. Если dvd - FFmpeg расставляет потоки как посчитает нужным, вне зависимости от указания -map. Причем то, какой окажется первым, четко зависит от входного файла.

anonymous ()
Ответ на: комментарий от anonymous

Сильно сомневаюсь, что это даст результат, но попробовать можно

anonymous ()
Ответ на: комментарий от Rodegast

Это ведь просто обертка над теми же ffmpeg, mencoder и dvdauthor? К тому же, меню там получаются просто ужасные, да и с современными версиями ffmpeg оно не работает

anonymous ()
Ответ на: комментарий от Gicdillah

Кстати, версии пакетов: ffmpeg 2.1.1 dvdauthor 0.7.1 mplayer 1.2_pre2013чототам В общем, последние из доступных в Gentoo. Хотя версии тут, впрочем, не при чем // Все эти сообщения из-под анонимуса - это я, ТС, просто лень логиниться

anonymous ()
Ответ на: комментарий от ksa242

Не при чем, просто надо было как-то отличать исходный MPEG, промежуточный файл (ему я и дал расширение .mp4) и финальный, предназначенный для записи на диск VOB

Barracuda72 ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.