FFMPEG的用法
FFMPEG是一个视频软件的装换工具。
DOS下的操作如下:
ffmpeg 转换
D:\ffmpeg\bin>ffmpeg.exe -i C:\Users\pc\Desktop\sp.mp4 -vf scale=500:-1 -t 100 ss.flv
C:\Users\pc\Desttop\sp.mp4 是所需要转换的文件地址
scale=500:-1 表示准换后的视频的宽度为500px -1表示高度自适应,也可以写成500:500,表示宽度和高度都是500px
-t 100 表示截取的视频的时间为100毫秒,
ss.flv表示命名的新文件名,文件存放在D盘.
ffmpeg 截图
ffmpeg -i demo.mp4 -ss 10.1 -t 0.001 1.jpg
截取demo.mp4的视频 从10.1秒开始 -t 0.001表示截取10.1秒的这张图片 保存为 1.jpg
ffmpeg 裁剪
ffmpeg -i demo.mp4 -filter:v "crop=10:20:100:100" out.mp4
crop里的参数依次为: 左边距:右边距:宽度:高度
ffmpeg 相同分辨率转flv
ffmpeg -i demo.mp4 -vcodec copy -acodec copy out.flv
Ipad 可以直接播放mp4,可以用html5的video标签
<video width="555" height="315" controls preload="auto" src="demo.mp4"></video>
ffmpeg 视频合成
因为 ffmpeg 是支持切分 mp4 视频的,所以我就理所当然的以为 ffmpeg 是支持视频合并。直到今天同事找我问方法,才发现一直以为的方法是错误的, mp4 不支持直接 concate(丢人了。。。),赶紧补了一下能量,从网上抓来了多种实现。
注: 这里的 mp4 指的是网上最多见的 h264+aac mpeg4 容器的方式
ffmpeg + ts
这个的思路是先将 mp4 转化为同样编码形式的 ts 流,因为 ts流是可以 concate 的,先把 mp4 封装成 ts ,然后 concate ts 流, 最后再把 ts 流转化为 mp4。
1 2 3 | ffmpeg -i 1.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 1.ts ffmpeg -i 2.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb 2.ts ffmpeg -i "concat:1.ts|2.ts" -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4 |
关于页面视频播放的一些总结
1.如果文件比较大的话一般只能播放流媒体格式的文件,比如flv格式,采用边下载边播放的形式,所以如果文件不是flv格式的话需要按照上面所介绍的转换方式进行转换。
2.文件的码率会影响下载的速度,如果当前网络为1M,那么想要流畅的播放视频文件的话,播放的文件的码率必须在1024Kbps以下,否则就需要进行转换,以达到最佳播放效果。
更多关于Ffmpeg的介绍 http://ffmpeg.org/
更多关于Jplayer的介绍 http://www.jplayer.org/
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术