Предположим, у меня есть два файла с именами foo.mp4
и foo.srt
. В файле mp4 нет субтитров, и я хочу добавить субтитры из foo.srt
файла.
Утилита mencoder
часто рекомендуется в этом контексте. Я пытался использовать, например:
mencoder foo.mp4 -sub foo.srt -ovc lavc -oac copy -o foo.mpg
Это работало для меня раньше. Однако здесь я получаю
Audio format 0x4134504d is incompatible with '-oac copy', please try '-oac pcm' instead or use '-fafmttag' to override it.
Я не знаю, что это значит. Запуск mediainfo
этого файла дает следующую информацию о audio
потоке.
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 1h 47mn
Bit rate mode : Variable
Bit rate : 93.7 Kbps
Maximum bit rate : 110 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Sampling rate : 48.0 KHz
Compression mode : Lossy
Stream size : 71.8 MiB (9%)
Language : English
Encoded date : UTC 2014-11-19 03:58:38
Tagged date : UTC 2014-11-19 03:58:40
Пытающийся
mencoder foo.mp4 -sub foo.srt -ovc lavc -oac pcm -o foo.mpg
работает, но производит видео, которое заметно хуже по качеству.
Я полагаю , что ffmpeg
это тоже может быть вариантом, но я не понял, как его использовать для этого.
Я использую Debian wheezy. Версии mencoder
и ffmpeg
которые поставляются с хрипом:
2:1.0~rc4.dfsg1+svn34540-1+deb7u1 (менкодер)
6:0.8.16-1 (ffmpeg)
Тем не менее, мне удалось сделать резервную копию более новой версии ffmpeg
из нестабильной версии, а именно: 7:2.5.1-1
.
Используйте subtitles
фильтр для создания хардсабов («вжигаемых» субтитров):
ffmpeg -i input.mp4 -vf subtitles=subs.srt -target pal-dvd output.mpg
-target pal-dvd
на выходе будет частота кадров 25 и размер кадра 720x576. Если вы хотите вместо этого выводить NTSC для частоты кадров 30000/1001 и размера кадра 720x480, используйте -target ntsc-dvd
. Для частоты кадров 24000/1001 и размера кадра 720x480 используйте -target film-dvd
.
Старая, так называемая " ffmpeg
" версия 0.8.16 в репо - это подделка от форка, в котором отсутствует subtitles
фильтр. Если вам нужна настоящая вещь, вы можете просто загрузить статическую сборку .
Я не верю, что ffmpeg
можно преобразовать текстовый SRT в растровый dvdsub/vobsub, но, вероятно, есть другие инструменты, которые могут это сделать. Это позволит вам использовать стандартные субтитры DVD, которые могут быть включены или выключены зрителем.
-target film-dvd
работы на обычном DVD плеере?ffmpeg
, в первой строке вывода консоли будет указано, кто его разработал. Если он показывает FFmpeg Developers
, это реальная вещь.mencoder
не подходит ли инструмент для такой задачи? Кажется, это широко рекомендуется для таких вещей в сети.mencoder
основном прекратилась некоторое время назад, но если это работает для вас и вы предпочитаете это, продолжайте и используйте его.mplayer.c
с 2012 года было сделано ~ 14 коммитов. Последний коммит был 20 мая 2014 года. Не идеальное средство измерения, но это даст хорошее представление об активности. Похоже, что с 20 мая 2014 года в FFmpeg было внесено около 7023 коммитов. Также не идеальное измерение, потому что оно включает в себя все коммиты для всего проекта.mencoder.c
, наверное? Я не вижу mplayer.c
там. Я клонировал mplayer из svn. svn info
дает «Корень репозитория: svn://svn.mplayerhq.hu/mplayer». И mencoder.c
имеет 10 коммитов с начала 2013 года.mencoder.c
, но цифры остались прежними.2014-05-21
последний коммит, и это определенно 10 коммитов с начала 2013 года. Но это не имеет большого значения - я понял вашу точку зрения.
Логан
Фахим Мита
avi
была опечатка. Ответ в том, что я могу в конечном итоге создать DVD. Обычно это включает в себя создание структуры DVD, а затем ISO из нее. Первый шаг включает в себя создание файла из исходного видеофайла с использованиемffmpeg
, и я даю этомуmpg
расширение по непонятным мне причинам. После этого этот файл обрабатываетсяdvdauthor
для создания структуры каталогов, а затем преобразуется в iso с расширениемgenisoimage
. Итак, я полагаю, что ответ таков: какие бы форматы ни работали.