ios移动端直播

来源:互联网 发布:ipad版怎么看淘宝直播 编辑:程序博客网 时间:2024/05/29 11:22

        最近公司在做有关直播和点播的内容,要实现能够在苹果手机端实现直播和点播的功能,现在在测试阶段,udp://224.10.10.11:50011 是一个直播的地址,通过连接相关网络并且通过该地址来获取直播流,并能够在手机上播放。点播就是将直播的内容保存下来,访问方式和直播一样,但是底层原理应该有差别。下面是我在目前遇到的一些问题和解决方式。

        所谓流媒体是指采用流式传输的方式在Internet播放的媒体格式。 流媒体又叫流式媒体,它是指商家用一个视频传送服务器把节目当成数据包发出,传送到网络上。用户通过解压设备对这些数据进行解压后,节目就会像发送前那样显示出来。

流媒体(Streaming Media)的出现极大地方便了人们的工作和生活。在地球的另一端,某大学的课堂上,某个教授正在兴致盎然地传授一门你喜欢的课程,想听?太远!放弃?可惜!没关系,网络时代能满足你的愿望。在网络上找到该在线课程,课程很长,但没关系,只管点击播放,教授的身影很快出现在屏幕上,课程一边播放一边下载,虽然远在天涯,却如亲临现场!除了远程教育,流媒体在视频点播、网络电台、网络视频等方面也有着广泛的应用。

       流媒体,又叫流式媒体,是边传边播的媒体,是多媒体的一种。边传边播是指媒体提供商在网络上传输媒体的“同时”,用户一边不断地接收并观看或收听被传输的媒体。“流”媒体的“流”指的是这种媒体的传输方式(流的方式),而并不是指媒体本身

       HLS (HTTP Live Streaming),Apple的动态码率自适应技术。主要用于PC和Apple终端的音视频服务。包括一个m3u(8)的索引文件,TS媒体分片文件和key加密串文件。

       FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多codec都是从头开发的。

 可以参考一下地址:http://blog.chinaunix.net/uid-26722078-id-3782471.html

 使用ffmpeg对视频或者直播流(比如udp格式的直播地址)进行TS切片

 附带参数

 ffmpeg -i input -c copy -f hls -hls_wrap 10 -hls_list_size 5 -hls_time 5 output

-hls_time n: 设置每片的长度,默认值为2。单位为秒

-hls_list_size n:设置播放列表保存的最多条目,设置为0会保存有所片信息,默认值为5

-hls_wrap n:设置多少片之后开始覆盖,如果设置为0则不会覆盖,默认值为0.这个选项能够避免在磁盘上存储过多的片,而且能够限制写入磁盘的最多的片的数量

-hls_start_number n:设置播放列表中sequence number的值为number,默认值为0

ffmpeg -i udp://224.10.10.11:50011 -c copy -f hls -hls_wrap 10 -hls_list_size 5 -hls_time 5 output.m3u8

//这条命令不成功

ffmpeg -i udp://224.10.10.11:50012 -c copy -f hls -hls_wrap 10 -hls_list_size 5 -hls_time 5  /usr/local/nginx/1.8.1/html/hls/output.m3u8

//音频格式的问题  视频格式:-vcodec libx264  音频格式 -acodec libmp3lame

ffmpeg -i udp://224.10.10.11:50012 -vcodec libx264 -acodec libmp3lame  -f hls  /usr/local/nginx/1.8.1/html/hls/output.m3u8/ /.mp4格式需要 加参数  -bsf h264_mp4toannexb  

ffmpeg -i input.mp4  -c copy -bsf h264_mp4toannexb  -f hls -hls_wrap 10 -hls_list_size 5 -hls_time 5 output.m3u8

ffmpeg -i input.mp4  -c copy -bsf h264_mp4toannexb  -f hls -hls_wrap 10 -hls_list_size 5 -hls_time 5 /usr/local/nginx/1.8.1/html/hls/output.m3u8

将输出的 M3u8 可直接使用vlc打开,发现拖动的时候会出现画面丢失的现象,待解决。

 用vlc查看流是否可用 

[mpeg2video @ 0x7fe1da003000] Invalid frame dimensions 0x0.

0 0
原创粉丝点击