FFmpeg Experience

Posted by Bill on March 22, 2022

1. 视频

1.1 分辨率相关

1.1.1 分辨率转换

1
ffmpeg -i [input] -vf scale=[width]:[height] -vcodec [codec type] [output]

1.1.2 分辨率拼接

首先制作一系列分辨率不同的视频,以mpeg2为例:

1
ffmpeg -i [input] -vf scale=[width]:[height] -vcodec mpeg2video [output]

假设输入有多个文件,先创建文件mylist.txt

1
2
3
4
# this is a comment
file '/path/to/file1.mp4'
file '/path/to/file2.mp4'
file '/path/to/file3.mp4'

执行拼接操作:

1
ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.mp4

1.2 播放码流

1
ffplay [bitstream file]

1.3 播放YUV

1
ffplay -f rawvideo -video_size [widthxheight] [input YUV]

2. 图片

2.1 格式转换

如webp转jpeg可以执行:

1
ffmpeg -i [src] [dst.jpg]

3. 查看视频包信息

1
ffprobe -show_packets [input.mp4] > output.log

4. 查看视频格式信息

1
ffprobe -i [input.mp4] -show_format