FFmpeg 在当前目录批量转码为 h264 mp4 封装格式

输入格式 FLV MP4 MOV MKV 大小写都可以

set -e
for file in *.[FfMm][LlPpKkOo][Vv4]; do
    file_name=${file%.*}
    file_extension=${file#*.}
    input=$PWD/$file_name.$file_extension
    output=$PWD/h264-$file_name.mp4
    ffmpeg -y -hide_banner -i "${input}" -c:v libx264 -crf 21 -preset medium -qcomp 0.5 -psy-rd 0.3:0 -aq-mode 2 -aq-strength 0.6 -b:a 256k -f mp4 "${output}"
    mkdir -p tmp
    echo -e "\033[31m $(mv -v "$input" tmp) \033[0m"
done
ffmpeg -i "https://xxx.xx/output.m3u8" -c copy output.ts
ffmpeg -i "xx" -c:v libx264 -crf 18 -preset slow -qcomp 0.5 -psy-rd 0.3:0 -aq-mode 2 -aq-strength 0.8 -b:a 256k optput.mp4

使用 macOS h264 编码加速

ffmpeg -i input.mp4 -c:v h264_videotoolbox -b:v 4000K -minrate 2800K -maxrate 8000K -b:a 128K output.mp4

bt709 使用-vf设置bt709参数 acc

ffmpeg -loglevel verbose -i input.mp4 -c:v h264_videotoolbox -b:v 8000K -pix_fmt yuv420p -profile:v high -level 5.2 -vf scale=out_color_matrix=bt709 -color_primaries bt709 -color_trc bt709 -colorspace bt709 -c:a aac -b:a 320k output.mp4