输出当前目录下所有视频的编码、帧率、码率

1
2
3
4
5
6
for i in ./*.mp4; do
codec=$(ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=noprint_wrappers=1:nokey=1 "$i")
r_frame_rate=$(ffprobe -v error -select_streams v:0 -show_entries stream=r_frame_rate -of default=noprint_wrappers=1:nokey=1 "$i")
bit_rate=$(ffprobe -v error -select_streams v:0 -show_entries stream=bit_rate -of default=noprint_wrappers=1:nokey=1 "$i")
echo -e "$codec\t$r_frame_rate\t$bit_rate\t$i"
done

将当前目录下所有文件由 h264 编码无损转换至 h265 编码

1
2
3
for i in ./*.mp4; do
ffmpeg -c:v h264_cuvid -i "$i" -c:v hevc_nvenc -r 24 -c:a copy -x265-params lossless=1 "./h265/$i";
done

截图

1
ffmpeg -ss 00:20:00 -i "$i" -vframes 1 "$i.jpg"

截取视频片段

1
ffmpeg -i d.mp4 -ss 00:11:17 -t 00:51:37 -c copy d1.mp4