参考文章
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