前言:
对https协议的视频流,可以正常播放,对于rtsp协议的H264编码的视频流也可以正常播放,现在来测试基于H265协议的视频流
问题:
- H265视频流本地和网络视频地址难以找到
解决:
-
使用FFmeg直接本地推流,指定视频流格式为H265,播放器无法正常播放✖
-
使用VLC直接本地推流,指定视频流格式为H265,同样无法正常播放✖
-
寻找网络RTSP流,使用以下命令可以查看编码格式:✖
// 在下载ffmpeg的文件夹中执行如下命令,可查看流的编码格式,这里的测试流是H264编码
ffprobe http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8
-
使用FFmpeg把H264实时转码成H265✖
cmd
ffmpeg -i http://devimages.apple.com/iphone/samples/bipbop/gear3/prog_index.m3u8 -c:v libx265 -preset ultrafast -f rtsp rtsp://127.0.0.1:8554/video
// 或者
ffmpeg -i http://devimages.apple.com/iphone/samples/bipbop/gear3/prog_index.m3u8 -c:v libx265 -preset ultrafast -f rtsp rtsp://localhost:8554/video
- 参数解释:
-i rtsp://source_url
:源 RTSP 流地址,编码为 H.264。-c:v libx265
:将视频编码器设置为 H.265(libx265)。-preset ultrafast
:设置编码速度,ultrafast
速度最快,但质量较低。可以根据需求选择其他值,例如medium
或slow
,它们会提供更高的质量但速度较慢。-f rtsp
:输出格式为 RTSP。rtsp://output_url
:目标输出的 RTSP 流地址。
- 尝试使用真是摄像头推流:今天使用VLC可以直接捕获USB摄像头的视频流,但是转码失败,此部分文章参见:USB摄像头视频流转RTSP流