FFmpeg命令行记录

FFmpeg常用命令/参数

常用命令

  • ffmpeg -s:v 1920x1080 -r 25 -i input.yuv -vf scale=960:540 -c:v rawvideo -pix_fmt yuv420p out.yuv #

  • ffmpeg -s:v 1920x540 -r 25 -i updecode_1920x540_50.yuv -c:v libx265 out.h265 使用libx265编码器编码yuv数据

  • ffmpeg.exe -i input.mp4 -vf crop=720:720:280:0 output.mp4 从 (280,0) 坐标处裁剪大小为720x720的视频

  • ffmpeg -i input_file -s 320*240 output_file 改变输出视频尺寸

  • ffmpeg -c:v hevc_cuvid -i input -f rawvideo out_3840x2160.RGB 硬件加速解码视频为原始RGB数据

  • -pix_fmt yuv_420p (yuv420p10le / yuv420p12le / rgb24) 设定原始数据格式

  • ffmpeg.exe -i input.ts -s 4096x2160 -pix_fmt rgb24 out_4096x2160.rgb 解码视频为rgb24格式并设置size为4096x2160

  • ffmpeg.exe -f rawvideo -pix_fmt rgb24 -s 4096x1080 -i out_Odd_4096x1080.RGB -r 59.94 -s 4096x1080 -b:v 50m -c:v hevc_nvenc out_Odd_4096x1080.avi 编码视频

  • ffmpeg -h encoder=libx264 查看编码器信息

  • ffmpeg.exe -t 00:04:00 -i In_4K.UHDTV.HEVC.10bit.HDR.DD5.1-FLTTH.ts -s 4096x2160 -c:v libx265 -b:v 100m -r 50 -pix_fmt yuv420p AerialChina/out_4096x2160.ts -y 将10bit的HDR视频截取4分钟并转为8bit视频

  • ffmpeg -i test.mp4 -y -f image2 -s 960x540 test/%05d.jpg 按帧截取存为图片

  • ffmpeg -f image2 -i test\%05d.jpg -vcodec libx264 -r 25 -b 382k test.mp4

  • ffmpeg -i %8d.png -pix_fmt yuv420p -vsync 0 001.yuv -y 多张png图片合成yuv数据

  • ffmpeg -s:v 3840x2160 -c:v rawvideo -pix_fmt yuv420p10le -i 10bit.yuv -c:v rawvideo -pix_fmt gbrp10le gbrp10le_out.rgb 10bit yuv转rgb

  • ffmpeg -i 10021502.mp4 -vf "select=between(n\,84\,208)*not(mod(n\,4))" -vsync 0 ./pkl/image_%05d.jpg 抽帧

视频编码

  • ffmpeg.exe -s:v 1920x1080 -i BasketballDrive_000to049.yuv -c:v h264 -vframes 50 -qp 37 BasketballDrive_qp37_h264.h264 -psnr -y 1>>BasketballDrive_qp37_h264.txt 2>&1 264定qp编码
  • ffmpeg.exe -i BasketballDrive_qp37_h264.h264 -pix_fmt yuv420p BasketballDrive_qp37_rec_h264.yuv -y 解码

视频截取

ffmpeg -i input.wmv -ss 00:00:30.0 -c copy -t 00:00:10.0 output.wmv   # 从30s开始截取10s
ffmpeg -i input.wmv -ss 30 -c copy -t 10 output.wmv
ffmpeg -i input.wmv -ss 30 -c copy -to 40 output.wmv  # 从30s截取到40s

常用参数

  • ffmpeg -pix_fmts 显示支持的像素格式
  • -b:v 64k 设置视频码率为64kbps (-b:a 设置音频)
  • -c:v h264_qsv
  • ffmpeg -hwaccels 显示硬编码器
  • -y 覆盖原文件
  • -an 去除声音
  • -ss 开始时间
  • -t 持续时间
  • -to 结束时间

ffprobe

  • ffprobe -v error -show_format -show_streams input.mp4 获取视频信息

参考资料

  • ffmpeg-wiki
  • nvidia-ffmpeg
  • set-bit-depth-in-ffmpeg-encoding-for-hevc
  • ffmpeg参数中文详细解释

你可能感兴趣的:(工具)