html5播放rtsph264视频流

html5播放rtsph264视频流

2023年6月27日发(作者:)

html5播放rtsph264视频流最近在研究html5实时播放rtsp流的问题,⽬前来说h5原⽣不⽀持这种格式,⽹上查了很多教程,⼤概有以下⼏种思路。rtsp转rtmprtmp需要falsh的⽀持,但是在chrome已经默认禁⽤、包括未来也会逐渐淘汰,所以最终没有采取。rtsp转hls这个研究不是太深⼊,很多东西也没搞明⽩,只找到了⼀些相简单的操作。这种⽅法需要借助第三⽅库ffmpeg,利⽤ffmpeg将mp4格式或者rtsp流进⾏切⽚,我们可以获得hls的m3u8索引⽂件以及⼤量ts⽂件,但是⼤多数浏览器不⽀持原⽣的hls这种⽅式。可能因为研究不够深⼊,最后并没有利⽤hls播放成功,若有成功的⼩伙伴欢迎来指导。使⽤ffmpeg对MP4⽂件进⾏点播切⽚

segment模块来进⾏对4⽂件进⾏切⽚segment_format ⽤来指定输出格式为mpegtssegment_list⽤来配置输出的列表⽂件名segment_time则是切⽚的时长ffmpeg -i 4 -codec:v libx264 -codec:a mp3 -map 0 -f ssegment -segment_format mpegts -segment_list C:/Users/Administrator/Desktop/nginx-1.8.1/html/hls/playlist.m3u8 -segment_time 10 out%使⽤ffmpeg对MP4⽂件进⾏直播切⽚-segment_list_flags +live 直播,并且加上了-re参数(该参数表⽰ffmpeg将会按照4的播放速率进⾏转码)segment_list_size参数将列表数量控制在6个ssegment模块有个缺点,虽然可以通过以上⽅式达到直播,但是⽣成的TS⽂件并不会循环,会⼀直被保留ffmpeg -re -i 4 -codec:v libx264 -codec:a mp3 -map 0 -f ssegment -segment_format mpegts -segment_list playlist.m3u8 -segment_list_flags +live -segment_list_size 6 -segment_time 10 out%使⽤HLS模块进⾏视频⽂件切⽚的指令如下:hls_list_size即为HLS播放的列表hls_wrap则表⽰为最⼤的TS循环数也就是每10个⼀个循环ffmpeg -re -i 4 -codec:v libx264 -codec:a libfaac -map 0 -f hls -hls_list_size 6 -hls_wrap 10 -hls_time 10 playlist.m3u8对rtsp流直接进⾏切⽚ffmpeg -i "rtsp://" -fflags flush_packets -max_delay 1 -an -flags -global_header -hls_time 1 -hls_list_size 3 -hls_wrap 3 -vcodec copy -y C:/Users/Administrator/Desktop/videochannel101.m3u8ffmpeg -y -i "rtsp:" -c:v copy -map 0:0 -flags -global_header -f segment -segment_list C:/Users/Administrator/Desktop/video/playlist.m3u8 -segment_time

10 -segment_format mpeg_ts -segment_list_type m3u8 segment%播放rtsp这种⽅式借助了⼀些现有的代码,最后简单的实现了。要运⾏程序需要(参考菜鸟教程)和ffmpeg(添加环境变量)。cmd到程序⽬录:node 然后打开,修改其中config中的url, video标签可添加多个也可以访问不同的rtsp的url。 HTML5视频直播测试 html5播放rtsp视频流还有⼀些其他⽅法,后续会继续研究更新。

发布者:admin,转转请注明出处:http://www.yc00.com/news/1687823407a48284.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信