一、ffmpeg从视频中提取图片

ffmpeg -i a.mp4 imageName%d.jpeg

  • -i 选项用来获取输入文件,在这里的视频文件名是 :a.mp4
  • imageName%d.jpeg 表示生成的图片名字分别为:imageName1.jpeg、imageName2.jpeg…
  • 注:可以将 %d.jpeg 变成 %03d.jpeg,这表示生成的图片保存以imageName001.jpeg、imageName002.jpeg…

ffmpeg -i a.mp4 -s 352x240 imageName%d.jpeg

  • -s 表示截取出来的图片比例,可以通过设置这个参数直接操作生成的图片比例

ffmpeg -i a.mp4 -r 1 imageName%d.jpeg

  • -r 选项设置每秒提取图片的帧数,我想要每秒提取一帧。

ffmpeg -i a.mp4 -ss 00:00:02 -t 10 imageName%d.jpeg

  • -ss 表示起始时间,即从哪一秒开始操作视频,时间用00:00:00格式,或者直接写数字都可以,
  • 直接写数字表示秒数
  • -t 表示持续时间,即从起始时间开始提取t秒视频
ffmpeg -i a.mp4 -q:v 2 -f image2 imageName%d.jpeg
  • -q:v 它用来设置提取到的图片质量,我总是设置值为2来从视频中获取高质量
  • -f 指定保存图片使用的格式,可忽略

ffmpeg -i a.mp4 -vframes 60 imageName%d.jpeg

  • -vframes 指定抽取帧数,配合 -ss 即可抽取任意段视频的所有帧
  • -vframes 默认是从0开始抽取帧,逐帧往后抽取

二、ffmpeg下载视频

ffmpeg -i “视频链接” name.mp4

  • 如:https://jdvodoss.jcloudcache.com/vodtransgzp1251412368/4564972818758184299/v.f230.m3u8
  • 可以通过链接下载,下载m3u8根本不用费劲,把url传进去就哦了

三、ffmpeg 操作音频

混合多个音频到单个音频

  • ffmpeg64.exe -i 124.mp3 -i 123.mp3 -filter_complex amix=inputs=2:duration=first:dropout_transition=2 -f mp3 remix.mp3
  • 解释:-i代表输入参数
    -filter_complex ffmpeg滤镜功能,非常强大,详细请查看文档
    amix是混合多个音频到单个音频输出
    inputs=2代表是2个音频文件,如果更多则代表对应数字
    duration 确定最终输出文件的长度
    longest(最长)|shortest(最短)|first(第一个文件)
    dropout_transition
    The transition time, in seconds, for volume renormalization when an input stream ends. The default value is 2 seconds.
    -f mp3 输出文件格式

四.ffmpeg操作视频

给视频加封面

  • 输入原视频,和封面,输出a.mp4
  • ffmpeg -i 成品2.mp4 -i a.png -map 1 -map 0 -c copy -disposition:0 attached_pic -y a.mp4

截取视频

  • 按时间截取视频
  • ffmpeg -i %1 -vcodec copy -acodec copy -ss 00:00:10 -to 00:00:15 out.mp4 -y

视觉无损压缩视频

  • ffmpeg -i input.mp4 -c:v libx265 -x265-params crf=18 output.mp4
  • 详情可见

合并视频

直接合并

  • 编辑 1.txt
    file ‘01.mp4’
    file ‘02.mp4’
    file ‘03.mp4’
  • 直接无损合并
    ffmpeg.exe -f concat -safe 0 -i 1.txt -c copy -y output.mp4

-f concat是指合并

-safe 为了避免权限报错

-c copy 一定要指定,不然会重新封装,数据文件就会变大。

好处:不会变大,且加了 -c copy很快完成合并。

转码视频成MP4

  • ffmpeg -i %1 -y -qscale 0 -vcodec libx264 %~n1.mp4

录屏

基于GDI录屏,FFmpeg直接从Windows的GDI中拷贝图形,然后再合成视频。

优点:省事,不需要依赖其他库

缺点:内存拷贝性能不是很好,没有硬件加速

命令如下:

  • ffmpeg -y -f gdigrab -t 30 -r 25 -i desktop -vcodec libx264 -s 1280x720 test720.mp4

-t 表示录屏时间:缺省没有录屏时间限制

-r 表示帧率

-y 表示覆盖同名文件

-s 表示分辨率

-vcodec 表示编码器的库为x264

然后 test720.mp4为输出文件名

Logo

音视频技术社区,一个全球开发者共同探讨、分享、学习音视频技术的平台,加入我们,与全球开发者一起创造更加优秀的音视频产品!

更多推荐