ffmpeg常用命令

发布时间 2023-07-18 15:07:54作者: tros

常用参数:

主要参数:
-i 设定输入流
-f 设定输出格式
-ss 开始时间
-t   时间长度

视频参数:
-vframes 设置要输出的视频帧数
-b 设定视频码率,默认为200Kbit/s
-b:v 视频码率
-r 设定帧速率,默认为25
-s 设定画面的宽与高
-aspect 设定画面的比例
-vn 不处理视频
-vcodec 设定视频编解码器,未设定时则使用与输入流相同的编解码器
-vf 视频滤波器

音频参数:
-aframes 设置要输出的音频帧数
-b:a 音频码率
-ar 设定采样率
-ac 设定声音的Channel数
-acodec 设定声音编解码器,未设定时则使用与输入流相同的编解码器
-an 不处理音频
-af 音频滤波器

常用命令:

  1. 分离视频:ffmpeg -i test_video.mp4 -vcodec copy -an video.mp4
  2. 提取aac:ffmpeg -i test_video.mp4 -acodec copy -vn test.aac
  3. 提取H264:ffmpeg -i test_video.mp4 -vcodec copy -an test_copy.264
  4. 改变编码格式:ffmpeg -i test_video.mp4 -vcodec copy -acodec copy test_copy.ts
  5. 修改帧率:ffmpeg -i test_video.mp4 -r 15 output.mp4
  6. 修改码率:ffmpeg -i test_video.mp4 -b:v 1.5M output2.mp4
  7. 修改音频码率:ffmpeg -i test_video.mp4 -b:a 192k output2.mp4
  8. 修改音视频码率:ffmpeg -i test_video.mp4 -b:v 1.5M -b:a 192k output2.mp4
  9. 修改分辨率:ffmpeg -i test_video.mp4 -s 640x480 output.mp4
  10. 提取PCM:ffmpeg -i test.mp4 -f s16le audio.pcm
  11. 提取YUV
    提取3秒 分辨率和原来的一致:ffmpeg -i test_video.mp4 -t 3 -pix_fmt yuv420p yuv420p_orig.yuv
    提取3秒 指定分辨率:ffmpeg -i test_video.mp4 -t 3 -pix_fmt yuv420p -s 320x240 yuv420p_320x240.yuv
  12. 提取RGB
    提取3秒数据,分辨率转为320x240:ffmpeg -i test_video.mp4 -t 3 -pix_fmt rgb24 -s 320x240 rgb24_320x240.rgb
  13. RGB和YUV转换:ffmpeg -s 968x544 -pix_fmt yuv420p -i yuv420p_orig.yuv -pix_fmt rgb24 orig.rgb
  14. 合并ts文件:ffmpeg -f concat -safe 0 -i source_list.txt -c copy output.mp4s