【161】ffmpeg 5 的用法总结

本文详细介绍了ffmpeg工具用于处理视频流的命令,包括从rtsp流和HLS流下载MP4文件,将不同编码的MP4转换为H.264格式,以及将RTSP流转为HLS流。ffmpeg命令中涉及的关键参数如-timeout、-vcodec、-f和-t等被详细解释,以确保视频能在谷歌浏览器中顺利播放。
摘要由CSDN通过智能技术生成

1. ffmpeg 把 rtsp 流下载成MP4文件:

ffmpeg -timeout 5000000  -y  -i [rtsp地址] -vcodec copy -f mp4 -t 10 E:\test\102.mp4

-timeout 5000000 是过期时间,单位是微秒。因为网络有可能不稳定,连接没有响应,一直没有下载文件,所以这里设置过期时间,如果建立连接后超过5秒没反应就断开连接。

-i 后面指明rtsp视频流地址

-vcodec 视频编码格式,copy 表示不对视频编码做改动,用视频流原来的编码格式。

-f 是文件格式,这里是mp4。

-t 是视频时长,单位是秒。

E:\test\102.mp4 下载生成的文件路径。要确保文件夹路径 E:\test\ 存在。

2. ffmpeg把其他编码格式的MP4文件转换成 H.264(即AVC)编码格式的MP4文件

这么干的目的:MP4文件有多种编码格式。谷歌浏览器上运行HTML的VIDEO标签的时候,谷歌浏览器仅支持 H.264(即AVC)编码格式的MP4文件。所以为了正常播放视频需要对视频文件转换编码格式。

ffmpeg -i D:\ws\ry\junan\input.mp4 -vcodec libx264 D:\ws\ry\junan\output.mp4

-i 后面输入文件路径

-vcodec 是视频编码格式,后面跟着的 libx264 表示要转换成 H.264(即AVC)编码格式。

D:\ws\ry\junan\output.mp4 是要生成的文件路径。要确保文件夹路径存在。

3. ffmpeg 把 rtsp 流下载成MP4文件,并且编码格式转换成 H.264(即AVC)

ffmpeg -timeout 9000000 -y -i [rtsp地址] -vcodec libx264 -f mp4 -t 10 E:\test\102.mp4

其他都和第一条一样

-vodec 这里用 libx264 表明要转换成 H.264(即AVC)格式。

4. ffmpeg 把 HLS 流下载成 MP4 文件,并且编码格式转换操 H.264(即AVC)

ffmpeg -timeout 9000000 -y -i  http://192.168.1.47:18807/live.m3u8  -vcodec libx264 -f mp4 -t 10 D:\yourFile.mp4

5. ffmpeg 把 RTSP 流转换成 HLS 流,并放到 Nginx 路径中

ffmpeg -i 【RTSP流地址】  -c:v h264 -flags +cgop -g 30 -hls_time 1 【Nginx 硬盘路径】

-c:v h264 编码格式转换成 H264。

-flags +cgop 指 a closed GOP。GOP 是 Group Of Pictures 的缩写,即一组完整的视频帧,含有I帧,可播放。GOP 分为开放状态和闭合(closed)状态。Closed GOP是指帧间的预测都是在GOP中进行的。而使用open GOP,后一个GOP会参考前一个GOP的信息。

-g 30 设置 GOP 大小为 30。

-hls_time 1 时间长度是 1 秒。默认是 2 秒。

ffmpeg 下载资源

ffmpeg官方下载地址

ffmpeg5.0.1 windows版CSDN资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值