Это удивительно тонкая проблема. Мне потребовалось много времени и много проходов, чтобы решить все угловые дела. Я разместил свое решение онлайн здесь.
Мой конкретный пример использования - создание файлов *.mp4
для воспроизведения на iPad Air 2 с использованием macOS, но все используемые инструменты обычно доступны в Linux, и решение легко адаптируется к другим типам устройств.
Вот некоторые из моих заметок о том, как сделать эту адаптацию, с домашней страницы проекта:
Проект состоит из трех сценариев оболочки Bash, которые управляют ffmpeg
, ffprobe
, mediainfo
и atomicparsley
для преобразования файлов любого типа, поддерживаемых этими программами, в файлы H.264 * .mp4, подходящие для воспроизведения на устройстве класса iPad Air 2.
Скрипты действительно содержат некоторые из форм macOS, поэтому скрипты нуждаются в некоторой корректировке для использования в Linux или для использования в Windows под Cygwin, MSYS или WSL:
Программа rmtrash
действует как rm
за исключением того, что файлы перемещаются в папку "Корзина" пользователя. Многие подобные инструменты существуют для других систем, или вы можете просто заменить эту строку в ipad-h264
на вызов rm
или какой-либо другой тип команды "выйти из пути".
Вызов open
- это механизм macOS для открытия файла с помощью программы GUI, связанной с ним. У меня есть файлы *.mp4
связанные с Subler, потому что следующим шагом после повторного смешивания или перекодирования является просмотр тегов, применение обложки и т.д. В Cygwin вы можете получить тот же эффект с помощью cygstart
. Я предполагаю, что есть способ получить аналогичный эффект на Linux. С другой стороны, вы можете просто жестко запрограммировать следующий шаг вместо моей open
команды.
Вы можете скачать программное обеспечение из репозитория, используя ссылки в разделе «Загрузки» на домашней странице.