用ffmpeg分離影音檔案


只是為了方便處理並測試影片或聲音問題,所以我用ffmpeg官網上prebuilt的static版本來處理,如果有5.1聲道或是static版沒有內建的影音格式,則不適合用這個script來處理。

提醒!! 如果影音檔案內的metadata部份,只要不支援的都會被ffmpeg給濾除掉

#!/bin/bash
echo "argn=$#"
if [ $# -gt 0 ]; then
    echo "argv[1]=$1"
    for path in "$@"
    do
        echo "arg=$path"
        FILENAME=$(basename "${path}")
        EXTENSION=".${FILENAME##*.}"
        FILENANE_WITHOUT_EXT="${FILENAME%.*}"
        echo "video output=${FILENANE_WITHOUT_EXT}_v${EXTENSION}"
        echo "audio output=${FILENANE_WITHOUT_EXT}_a${EXTENSION}"
        ffmpeg-git-20160913-64bit-static/ffmpeg -i "${path}" -sn -vcodec copy -an "${FILENANE_WITHOUT_EXT}_v${EXTENSION}"
        ffmpeg-git-20160913-64bit-static/ffmpeg -i "${path}" -sn -vn -acodec copy "${FILENANE_WITHOUT_EXT}_a${EXTENSION}"
    done
fi


留言