当前位置: 代码网 > it编程>软件设计>算法 > 关于-RTSP推流方案, ffmpeg 视频转 m3u8

关于-RTSP推流方案, ffmpeg 视频转 m3u8

2024年08月06日 算法 我要评论
视频推流。

参考文章

https://zhuanlan.zhihu.com/p/668110375
增加fmpeg 执行单个视频推流

ffmpeg -re -stream_loop -1 -i 你视频的文件名 -c copy -f rtsp rtsp://127.0.0.1:8554/video

https://blog.csdn.net/ethanco/article/details/125321957

windows下安装使用ffmpeg

https://zhuanlan.zhihu.com/p/118362010

ffmpeg 视频转 m3u8

ffmpeg 视频转 m3u8
要使用ffmpeg将视频转换为m3u8格式,你需要先将视频分片,然后创建一个m3u8播放列表文件。以下是一个基本的命令行示例,它将一个视频文件分割成多个视频分片,并生成相应的m3u8文件:

ffmpeg -i input.mp4 -codec: copy -start_number 0 -hls_time 10 -hls_list_size 0 -f hls output.m3u8

参数解释:

-i input.mp4: 输入视频文件。

-codec: copy: 复制编码以减少转换时间。

-start_number 0: 每个分片的起始数字。

-hls_time 10: 每个分片的时长(秒)。

-hls_list_size 0: 播放列表中的条目数,0表示无限制。

-f hls: 输出格式为hls。

output.m3u8: 输出的m3u8文件名。

这个命令会生成output.m3u8文件和对应的视频分片文件,分片的命名通常是这样的:output-0.ts, output-1.ts, output-2.ts等。

ffmpeg 实时采集摄像头 windows

在windows上使用ffmpeg实时采集摄像头的基本命令如下:

ffmpeg -f dshow -i video="摄像头名称" -f sdl "摄像头名称"

确保替换摄像头名称为你的摄像头设备名称。你可以通过运行以下命令来查找摄像头名称:

ffmpeg -list_devices true -f dshow -i dummy

这将列出所有可用的设备,包括摄像头。
如果你想将视频保存到文件,可以添加输出文件路径:

ffmpeg -f dshow -i video="摄像头名称" output.mp4

如果你想要更多的控制,比如设置帧率、分辨率或者去除默认的音频采集,可以使用更多的选项:

ffmpeg -f dshow -video_size 1280x720 -framerate 30 -i video="摄像头名称" -an output.mp4

在这个例子中,-video_size 设置了视频的分辨率为1280x720,-framerate 设置了帧率为30,-an 表示去除音频。

ffmpeg 实时采集桌面 windows

ffmpeg -f gdigrab -i desktop output.mp4
ffmpeg -f gdigrab -video_size 2560x1440 -framerate 30 -i desktop output3.mp4

ffmpeg将rtsp流转成m3u8 windows

要在windows上使用ffmpeg将rtsp流转换成m3u8,你可以使用以下命令行指令。请确保你已经下载并安装了ffmpeg,并且rtsp流地址是可以访问的。
再将

ffmpeg -i "rtsp://your_rtsp_stream_address" -codec: copy -start_number 0 -hls_time 10 -hls_list_size 0 -f hls "output.m3u8"
ffmpeg -i "rtsp://localhost/live" -codec: copy -start_number 0 -hls_time 10 -hls_list_size 0 -f hls "test.m3u8"

这里是命令参数的简要说明:

-i “rtsp://your_rtsp_stream_address”:指定rtsp流的输入地址。
-codec: copy:复制编解码器,不进行转码。
-start_number 0:设置hls播放列表中第一个文件的序列号为0。
-hls_time 10:每10秒生成一个新的hls切片。
-hls_list_size 0:设置播放列表中保存的切片数量无限制。
-f hls:输出格式为hls。
“output.m3u8”:输出文件的名称。
请将"rtsp://your_rtsp_stream_address"替换为你的实际rtsp流地址。输出的m3u8文件和对应的切片文件会在当前目录生成。

直播功能实现

1.先要有个rtsp流

在这里插入图片描述

2.再通过ffmpeg将rtsp流转成m3u8

ffmpeg -i "rtsp://your_rtsp_stream_address" -codec: copy -start_number 0 -hls_time 10 -hls_list_size 0 -f hls "output.m3u8"
ffmpeg -i "rtsp://localhost/live" -codec: copy -start_number 0 -hls_time 10 -hls_list_size 0 -f hls "test.m3u8"

3.将生成得m3u8文件放到nginx里面(生成的时候指定好目录就可以了)

在这里插入图片描述

4.通过vlc播放器就可以播放了(直播会有延迟)

http://localhost/test/test.m3u8
在这里插入图片描述

在这里插入图片描述

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com