ffmpegのバッチ処理のファイルをまとめてみた
まず前提として
デスクトップに「Input」フォルダと「Output」フォルダが作ってあり
Inputフォルダに変換したい複数の動画ファイルがぶっ込んであって
Outputフォルダは空にする
下記のスクリプトをターミナルで実行すると、Inputフォルダの動画が変換されてOutputフォルダに出力される
基本編はこちら
FFmpegに関して
コーデックをHEVC(H.265)に変換する
convert2hevc.sh
#!/bin/sh
INDIR=~/Desktop/Input/
OUTDIR=~/Desktop/Output/
for FILE in ${INDIR}*
do
FILENAME=`basename "${FILE}"`
OUTPATH=$OUTDIR$FILENAME
ffmpeg -i "${FILE}" -c:v hevc -tag:v hvc1 "${OUTPATH%.*}.mp4"
done
黒を透明にしてhapコーデックにする
convertblack.sh
#!/bin/sh
INDIR=~/Desktop/Input/
OUTDIR=~/Desktop/Output/
for FILE in ${INDIR}*
do
FILENAME=`basename "${FILE}"`
OUTPATH=$OUTDIR$FILENAME
ffmpeg -i "${FILE}" -vf colorkey=0x000000:0.01:0.15 -vcodec hap -an -format hap_alpha "${OUTPATH%.*}.mov"
done
青を透明にしてhapコーデックにする
convertblue.sh
#!/bin/sh
INDIR=~/Desktop/Input/
OUTDIR=~/Desktop/Output/
for FILE in ${INDIR}*
do
FILENAME=`basename "${FILE}"`
OUTPATH=$OUTDIR$FILENAME
ffmpeg -i "${FILE}" -vf colorkey=0x0000ff:0.01:1 -vcodec hap -format hap_alpha -an "${OUTPATH%.*}.mov"
done
緑を透明にしてhapコーデックにする
convertgreen.sh
#!/bin/sh
INDIR=~/Desktop/Input/
OUTDIR=~/Desktop/Output/
for FILE in ${INDIR}*
do
FILENAME=`basename "${FILE}"`
OUTPATH=$OUTDIR$FILENAME
ffmpeg -i "${FILE}" -vf colorkey=0x00ff00:0.01:1 -vcodec hap -format hap_alpha -an "${OUTPATH%.*}.mov"
done
hapコーデックにエンコードする
convert2hap.sh
#!/bin/sh
INDIR=~/Desktop/Input/
OUTDIR=~/Desktop/Output/
for FILE in ${INDIR}*
do
FILENAME=`basename "${FILE}"`
OUTPATH=$OUTDIR$FILENAME
ffmpeg -i "${FILE}" -vcodec hap -pix_fmt yuv420p -an "${OUTPATH%.*}.mov"
done
動画の拡大縮小
動画の横幅(width)を 1280 にする。高さ(height)はアスペクト比を維持して自動で設定する
convertsize.sh
#!/bin/sh
INDIR=~/Desktop/Input/
OUTDIR=~/Desktop/Output/
for FILE in ${INDIR}*
do
FILENAME=`basename "${FILE}"`
OUTPATH=$OUTDIR$FILENAME
ffmpeg -i "${FILE}" -vf scale=1280:-1 "${OUTPATH%.*}.mp4"
done