ffmpeg 命令
ffmpeg
1 | usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}... |
音频转码
1 | #转码生成新的文件,目标为 |
从 mp4 中提取 yuv
1 | ffmpeg -i xx.mp4 -s 960x540 -pix_fmt yuv420p xx.yuv |
-s来设置 yuv 数据的分辨率-pix_fmt设置 yuv 的颜色格式
从mp4或flv文件中提取h264
1 | ffmpeg -i test.flv -vcodec copy -an -bsf:v h264_mp4toannexb test.h264 |
从mp4文件中提取aac
1 | ffmpeg -i input.mp4 -vn -c:a copy output.aac |
把一个 non-fragment MP4 转换成 fragment MP4,可以使用 FFmpeg 的 -movflags 来转换。参考:fragment mp4 转换
对于原始文件为非 MP4 文件
1 | ffmpeg -i trailer_1080p.mov -c:v copy -c:a copy -movflags frag_keyframe+empty_moov bunny_fragmented.mp4 |
对于原始文件已经是 MP4 文件
1 | ffmpeg -i non_fragmented.mp4 -strict -2 -movflags frag_keyframe+empty_moov fragmented.mp4 |
将 yuv 编码成 mp4
1 | ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 1920x1080 -r 25 -i input.yuv \ |
将 yuv 编码成 h264, 参考 Using ffmpeg to encode a raw video to H.264 format
1 | ffmpeg -f rawvideo -pix_fmt yuv420p -s:v 1920x1080 -r 25 -i input.yuv \ |
ffplay
播放yuv
1 | ffplay -f rawvideo -video_size 1280x720 -pixel_format nv12 xxx.yuv |
播放pcm
1 | ffplay -ar 16000 -ac 1 -f s16le -i xxx.pcm |
ffplay 字幕, 参考https://www.pianshen.com/article/9580874222/
使用自带的第0个字幕流
1 | ffplay -vf subtitles=infile:si=0 infile |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 yxibng!
