FFmpeg可以用于各种视频处理任务,比如去噪、模糊视频、色彩转换,视频旋转、提取帧、缩放视频尺寸等。这些任务对于大部分视频处理、压缩和交付来说至关重要。

http://yipeiwu.com/50508.htm

https://blog.csdn.net/qq_35809147/article/details/117429025

https://blog.csdn.net/fuhanghang/article/details/123565920

  1. 'ffmpeg',
  2. '-loglevel', 'warning',
  3. '-y',
  4. '-re',
  5. '-f', 'rawvideo',
  6. '-vcodec', 'rawvideo',
  7. '-pix_fmt', 'bgr24',
  8. '-s', '{}x{}'.format(width, height),
  9. '-r', str(fps),
  10. '-i', '-',
  11. '-c:v', 'libx264',
  12. # '-flvflags', 'no_duration_filesize',
  13. '-pix_fmt', 'yuv420p',
  14. '-preset', 'ultrafast',
  15. '-f', 'flv',
  16. rtmp_push_url

-loglevel

-y overwrite output files

-re 参数控制读取 AVpacket 的速度,按照帧率速度读取文件 AVpacket。如果有多个流,以最慢的帧率为准。

‘-f’, ‘rawvideo’, -f fmt force format ,-f h264 输出格式

‘-vcodec’, ‘rawvideo’,

其中 -i 表示输入文件, -vcodec hevc 表示视频编解码方式为 H265,注意ffmpeg 中名称为 hevc,不是H265!

-pix_fmts show available pixel formats

‘-s’, ‘{}x{}’.format(width, height), 图像分辨 set frame size (WxH or abbreviation)a

‘-r’, str(fps), -r rate set frame rate (Hz value, fraction or abbreviation) ,1秒帧数

‘-i’, ‘-‘,

‘-c:v’, ‘libx264’, 也就是说-codec-c是等价的。所以—vcodec-c:v是等价的。

‘-flvflags’, ‘no_duration_filesize’,

‘-pix_fmt’, ‘yuv420p’, 视频解码中的YUV420P格式

‘-preset’, ‘ultrafast’,

  1. --preset的参数主要调节编码速度和质量的平衡,有ultrafast(转码速度最快,视频往往也最模糊)、superfastveryfastfasterfastmediumslowslowerveryslowplacebo10个选项,从快到慢。
  2. --tune的参数主要配合视频类型和视觉优化的参数,或特别的情况。如果视频的内容符合其中一个可用的调整值又或者有其中需要,则可以使用此选项,否则建议不使用(如tune grain是为高比特率的编码而设计的)。
  3. tune的值有: film 电影、真人类型;
  4. animation 动画;
  5. grain 需要保留大量的grain时用;
  6. stillimage 静态图像编码时使用;
  7. psnr 为提高psnr做了优化的参数;
  8. ssim 为提高ssim做了优化的参数;
  9. fastdecode 可以快速解码的参数;
  10. zerolatency:零延迟,用在需要非常低的延迟的情况下,比如电视电话会议的编码。
  11. 原文链接:https://blog.csdn.net/JineD/article/details/125304570

‘-f’, ‘flv’,