Как я преобразовываю файл MKV в H.264/AVC с разрешением 640x360 использующий FFMPEG?

Хорошо, поэтому то, что Вы хотите, для сценария, получаемого доступ через символьную ссылку, чтобы смочь использовать файлы относительно символьной ссылки, правильно? И чтобы это работал, даже если используемый путь является полным, относительным, относительным из того же каталога, родственника от подкаталога, и т.д.?

Это действительно не просто. Удивительно непростой, на самом деле - много языков программирования имеют функцию 'abspath', которая решила бы эту проблему во флэш-памяти. Однако я не полагаю, что в стандартном инструментарии сценария оболочки существует такая функция.

Однако можно создать тот вполне просто с sed остротой:

abspath() {
    { [[ "$1" =~ ^/ ]] && echo "$1" || echo "$(pwd)/$1"; } | sed -r ':. s#(/|^)\./#\1#g; t .; :: s#[^/]{1,}/\.\./##; t :'
}
foo_dir=$(dirname $(abspath $0))

Я полагаю, что это является совершенно общим, и будет работать на пути, содержащие любую сумму ./ и ../.

Это действительно использует регулярные выражения немного, тем не менее,

3
04.04.2012, 02:30
2 ответа

Avidemux имеет полезный графический интерфейс, который позволит Вам изменить размер и транскодировать. mencoder (часть MPlayer), может сделать это также, но это - также командная строка.

Я думаю ffmpeg строка, которую Вы хотите, является чем-то вроде этого:

ffmpeg -s 640x360 -i in.mkv -vcodec libx264 -o new.mp4
  • -s устанавливает выходной размер
  • -i входной файл
  • -vcodec устанавливает выходной кодек (см. ffmpeg -codecs для Вашего полного списка)
  • -o устанавливает выходное имя файла (см. ffmpeg -formats для Вашего полного списка)
3
27.01.2020, 21:20
  • 1
    Спасибо, я испытаю это. Я забыл упоминать, что я предпочитаю инструменты командной строки по GUI [вопрос, обновленный]. –  Eric 04.04.2012, 02:31

Разделение без перекодирования:

ffmpeg -ss [start-time] -t [length-time] -i [in-file-path] \
       -vcodec copy -acodec copy [out-file-path]

Пример:

ffmpeg -ss 00:00:00.00 -t 00:10:00.00 -i "/some/path/to/file.mp4" \
       -vcodec copy -acodec copy "/some/path/to/new file.mp4"
1
27.01.2020, 21:20

Теги

Похожие вопросы