<开发笔记>HLS协议下多源同时切片
来源:互联网 发布:java程序注释 编辑:程序博客网 时间:2024/05/23 18:00
/************************************
允许转载,请注明文章来源和作者
Zhang Jianwei
BIT
921003zjw@163.com
************************************/
(目前在测试环节中基本上均采用脚本文件)
首先先对视频转码的命令进行修正:
之前的一些命令会使得转好的ts源在切片时,使得切片程序报错,经过测试,可以采用以下命令来解决报错问题。
ffmpeg -i <input file> -f mpegts -b:v <rate> -bsf:v h264_mp4toannexb <output file>
经过前面的过程,现在基础环境已经搭建完成,可以进行下一步的工作:多视频源同时切片与直播。
由于项目要求直播要能够自适应不同网速的网络环境,所以提供了多个不同码率的视频源,并且:1、采用ts格式:意味着不需要转码;2、使用udp协议。
基于以上要求,给出下面脚本代码:
#!/bin/bashIP=`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "地址:"`./segmenter -i udp://localhost:12345 -d 5 -p livesrc/live_ -n 10 -m live.m3u8 -u http://$IP/ &./segmenter -i udp://localhost:23456 -d 5 -p livesrc/live1_ -n 10 -m live1.m3u8 -u http://$IP/ &其中第二行“IP=……”是用来获取本机IP地址的。
第三第四行代码就是多源同时切片的命令。
-i后面跟的是输入的视频源,在测试中我用VLC进行流的发布,采用udp协议,-d后面是切片的时间,-p后面是<dir/prefix>,-n则是保留切片的个数(直播使用,只保留10个切片,同样会自动更新m3u8文件),-u后面则是网络路径(*说明*切片后在m3u8文件里完整的播放路径是这样的:[-u后面的内容]+[-p后面的内容]。在本例中是:http://$IP/livesrc/live_XXX.ts)。
在命令的最后的&则是用来将这一命令开启的segmenter程序放到后台运行,这个就是针对多源进行切片的方法。如果在前台进行运行,那么同时只能对一个源进行切片,而使用&则可以将程序挪到后台运行,这样可以同时针对多个源进行切片。
以上方法经过测试可行。(测试环境:server--ubuntu+apache2,client--Macbook Air)
- <开发笔记>HLS协议下多源同时切片
- HLS协议及java切片相关
- HLS协议及java切片相关
- HLS协议---学习笔记----M3U8
- 【整理】HLS视频协议第一弹--centos下面配置ffmpeg,segmenter以适应hls切片需要
- HLS视频协议第一弹--centos下面配置ffmpeg,segmenter以适应hls切片需要
- 关于HLS切片工具开发(服务器级别)
- ffmpeg hls切片工具
- HLS切片功能配置
- ffmpeg做hls切片
- HLS协议
- HLS 协议
- HLS 协议
- mp4和HLS切片直播
- SRS 代码分析【HLS切片】
- 网页通过HLS协议播放m3u8视频笔记
- FMS直播,在PC和手机PAD同时接收直播(使用RTMP和HLS协议)
- http live streaming (hls) 实时切片
- python 深浅复制与指针内存
- PostgreSQL 一行变多行
- HDU - 4730 We Love MOE Girls 水题
- 拷贝构造函数
- Ubuntu12.04下配置RoboCup仿真2D运行环境
- <开发笔记>HLS协议下多源同时切片
- pause()与sigsuspend()的用法
- jQuery插件收藏
- LeetCode 27 : Remove Element
- hive安装配置
- java 实现二分查找法
- 自定义控件--让背景颜色随ViewPager的滑动而渐变
- LinearLayout + TextView 树形菜单
- linux下的dhcp服务的完全配置(图文详解)