Как написать автоматический скрипт для преобразования MKV в MP4 на Mac OS X?

6358
pattulus

Мне нужен способ перекодирования MKV без обработки (через Pass Through) ...

Я в значительной степени нашел решение (см. Источник внизу), но мне нужно немного помочь. Какого рода скрипт мне нужно сохранить скрипт? Кто-нибудь готов помочь здесь или, может быть, скомпилировать приложение?

Идея 1:

  1. Используйте tsMuxer для извлечения видеопотока и аудиодорожки в отдельные файлы.
  2. Перекодируйте звуковую дорожку в AAC с помощью afconvert (поставляется с OS X, просматривая справочную страницу, которая поддерживает большинство форматов 2ch и 5.1ch)
  3. Используйте mp4box, чтобы объединить видео и аудио в один файл MP4. опубликовано wongcorgi в 22:34 6 октября 2009 г.

Идея 2:

#!/bin/sh mencoder -o <new file name> -oac copy -ovc copy -of lavf -lavfopts format=mp4 <old file name> 


Чтобы превратить приведенный выше фрагмент в приложение Drag and Drop, можно использовать эту программу: http://www.advogato.org/proj/DropScript/
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Источник: http://ask.metafilter.com/134805/I-need-an-automated-way-to-convert-MKV-to-MP4-on-Mac-OS-X

1

2 ответа на вопрос

2
fideli

Does it need to be a script? Would HandBrake work instead?

HandBrake

If it does need to be a script, I've had better success with ffmpeg than with mencoder, although I haven't regularly converted mkv files to mp4.

EDIT
Your mencoder command does not work for me; QuickTime cannot open the resulting mp4 file. Here's a lengthy article about converting an mkv file into an iTunes-compatible mp4/m4v file. Another article lists where to get some of those tools for your Mac.

The basic process is:

  1. Use mkvinfo to figure out framerate of source mkv file.
  2. Use mkvextract to separate video and audio streams into .h264 and .ac3 files, respectively.
  3. Use hexedit to change the first line of the resulting .h264 file.
  4. Use ffmpeg to convert the .ac3 file to a .m4a file.
  5. Use MP4Box to add the .h264 and .m4a files to a new .mp4 container with the framerate that you gathered in step 1.

EDIT AGAIN
There's a thread about converting mkv to mp4 for PS3 viewing, which leads to a post with a script. Haven't tried it myself but it seems to use mkvextract and ffmpeg so it may do pass-through. Uses Python.

Похоже, что HandBrake не позволяет проходить, что было бы более эффективно, как вы заявляете в своем вопросе. fideli 14 лет назад 0
Кстати, если вы действительно хотите написать скрипт для транскодирования, вы можете установить ручной тормоз без графического интерфейса и использовать только командную строку. Kami 14 лет назад 1
Спасибо за статьи, фидели. К сожалению, Handbrake не выполняет сквозной переход, как вы уже заявили в приведенном выше комментарии. В противном случае это будет очень хороший выбор, поскольку он способен добавлять субтитры и звуковые дорожки в удобной для пользователя форме. __________________________________________________________ Дело в том, что я просто хочу что-то (сценарий, автоматизация, приложение, что угодно), которое позволяет мне брать мои MKV и конвертировать их в один процесс, так как я делаю это довольно часто. У меня есть MKVTools, но он пока не совместим с партиями, а также невозможно настроить преобразование звука. pattulus 14 лет назад 0
@patte: я отредактировал пост, добавив ссылку на скрипт, который может работать. fideli 14 лет назад 0
1
pattulus

На данный момент мой инструмент выбора - MP4Tools, преемник MKVTools. Он обрабатывает пакетные преобразования MKV-файлов довольно аккуратно и в целом делает хорошую работу.

Ссылка на MP4Tools: http://www.emmgunn.com/mp4tools/mp4toolshome.html