I want to batch convert a directory containing hundreds of FLV files so that each file has a MP4 equivalent. I'm trying to automate this process by writing a shell script and running it from the Terminal. How do I go about doing that? Most of the instructions available are for Linux using ffmpeg but I think OS X doesn't have it. Thanks.
Вы можете установить ffmpeg через Homebrew или MacPorts . Команда для установки ffmpeg с Homebrew: brew install ffmpeg
; аналогично команда для установки ffmpeg с MacPorts - это sudo port install ffmpeg
. После того, как вы установили ffmpeg, вот простой (и несколько наивный) скрипт для преобразования файлов. Возможно, вам потребуется добавить больше флагов, в зависимости от ваших желаемых параметров.
#! /bin/bash
function convert_all_to_mp4() {
for file in *.flv ; do
local bname=$(basename "$file" .flv)
local mp4name="$bname.mp4"
ffmpeg -i "$file" "$mp4name"
done
}
convert_all_to_mp4
Просто создайте исполняемый файл, который вы поместили в приведенный выше сценарий (например, chmod a + x path / to / convert_all_to_mp4.sh
), и вызовите его по его полному пути или добавьте каталог, содержащий его, в переменную среды PATH и вызовите скрипт по имени, которое вы ему дали.
вы можете сделать это с помощью VLC
http://wiki.videolan.org/Transcode# Transcoding_with_the_Command_Prompt
#!/bin/bash
shopt -s nullglob
shopt -s nocaseglob
for file in *.flv
do
ffmpeg -i "$file" "${file%flv}mp4"
done