参考文章
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
发表评论