ffmpeg 简单命令知悉

ffmpeg 简单命令知悉

月光魔力鸭

2019-02-27 16:41 阅读 1566 喜欢 0 ffmpeg ffmpeg常用命令

FFmpeg 常用命令整理。

查看视频的时长/大小等基本信息

ffmpeg -i d:/a.mp4

输出

可以根据输出信息获得该视频的时长、分辨率信息。

将图片和音频合并为一个视频文件

ffmpeg -r 15 -f image2 -loop 1 -i d:/zzs/mp3/1.jpg -i d:/zzs/mp3/1.mp3 -s 720x480 -pix_fmt yuvj420p -t 567 -vcodec libx264 -y d:/zzs/mp3/1.mp4

ffmpeg -r 15 -f image2 -loop 1 -i d:/zzs/pp/2/index.jpg -i d:/zzs/pp/2/index.mp3 -s 720x480 -pix_fmt yuvj420p -t 567 -vcodec libx264 -y d:/zzs/pp/2/index.mp4

-loop 是循环 -s 是分辨率 -t 是输出的视频时长

将视频转化为m3u8格式

ffmpeg -i d:/a.mp4 -c:v libx264 -c:a aac -strict -2 -f hls d:/a.m3u8

将视频转化为flv格式

ffmpeg -i d:/a.mp4 -y -ab 32 -ar 22050 -qscale 10 -s 640*480 -r 15 d:/a.flv

-qscale 为视频输出质量,值越小文件越大质量越高 -s 为输出文件的分辨率大小 -r 播放帧数

对视频抓取截图

ffmpeg -i d:/a.mp4 -y -f image2 -ss 5 -t 0.001 -s 350x240 d:/aa.jpg

-f 输出格式 -t 截取时长 -ss 开始时间

通过ffmpeg对桌面进行截图抓取

ffmpeg -f gdigrab -i desktop d:/desk.png

使用gdigrab 来抓取

通过ffmpeg抓取桌面某位置的截图

ffmpeg -f gdigrab -framerate 5 -offset_x 10 -offset_y 20 -video_size 640x480 -i desktop d:/desktop.png

从屏幕(x:10,y:20)处开始截图抓取 640x480的屏幕

从视频中生成gif图

ffmpeg -i d:/a.mp4 -t 10 -s 320x240 -pix_fmt rgb24 d:/a.gif

-t 抓取时间 -s 大小 -ss 开始时间

通过ffmpeg 对系统的摄像头进行抓图

ffmpeg -f dshow -i video="Lenovo EasyCamera" d:/abc.png

这里的video ="Lenovo EasyCamera" 是系统使用的摄像头的名称,可以通过以下命令查看(中文会乱码):

ffmpeg -list_devices true -f dshow -i dummy

输出

对视频进行加密切片

ffmpeg -i C:\Users\Administrator\Desktop\hls-enc\test.mp4 -vf "movie=post.png [watermark]; [in][watermark] overlay=10:10 [out]" -hls_time 5 -hls_key_info_file C:\Users\Administrator\Desktop\hls-enc\aa.keyinfo -hls_list_size 0 -f hls C:\Users\Administrator\Desktop\hls-enc\test.m3u8

注意:加水印是通过-vf来增加的,但是后边的图片地址 movie对应的地址不能写盘符?

//右下角
overlay=main_w-overlay_w-10:main_h-overlay_h-10
//为左上角
overlay=10:10 
//为右上角
overlay=main_w-overlay_w-10:10 
//为左下角
overlay=10:main_h-overlay_h-10
//含义
main_w,main_h : The main input width and height.
overlay_w,overlay_h:The overlay input width and height.

视频剪切

ffmpeg -ss 0:1:30 -t 0:0:20 -i input.mp4 -vcodec copy -acodec copy output.mp4

-ss 开始时间 -t 持续时间

从视频中抓图

ffmpeg -i input.mp4 -r 1 -f image2 image-%3d.jpeg

-r 提取图像的频率

未完待续。


以上都是简单的几个使用命令,如果想深入学习FFMPEG,那么请看这里。 https://blog.csdn.net/leixiaohua1020/article/details/15811977/. 当然,如果英语过关,直接看官网最好啦。 http://ffmpeg.org/documentation.html

转载请注明出处: https://chrunlee.cn/article/ffmpeg-cmd-store.html


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
这不是之前做了一个磁力小站么.. 发现之前好多记录都是重复的(不要问我怎么发现的),就删除下,感觉不难,但总是写不对.. 这里纯粹记下sql.
作为一名前端开发人员来说,有一个比较好的工具会提高开发效率,不管是调试还是书写,这里推荐一个快速书写的利器:Emmet
chrome css 下的 media=print 下的调试小技巧
最近发现有部分同学在网站上面无法支付,限于无法知道他们的具体情况,这里简单做几个猜测。
作为程序员或多或少会用到这部分,但是又不常用,这里简单记录下大神给讲解的小技巧。
在通过vscode 来编写带有 eslint的项目的时候,会被各种各样的报错折磨崩溃,单引号 最后的逗号 空格 换行 各种各样。
今天用github登录自己网站的时候,竟然意外的失败了,查了下日志,发现报错:Request forbidden by administrative rules 。