51CTO博客开发
1环境准备官方说明:http://www.webrtc.org/reference/getting-started/prerequisite-sw针对android构建需要Ubuntu64位机器,虚拟机也行。1.1安装SVN直接用apt-get安装sudoapt-getinstallsubversion1.2安装git直接用apt-get安装sudoapt-getinstallgit1.3安装De
mpeg的音频格式蛮多的,又是MP3,又是aac,有些地方用mpga,mp4a表示mpeg的音频,这之间到底有什么区别和联系呢?最近花了两天时间,通过网上的零散资料整理了一下。mpeg-1part3(也就是mpeg标准第1版的第3部分)定义了mpegaudioversion1,而其又包含3个layer:mpeg-1layer1、mpeg-1layer2、mpeg-1layer3,其中的mpeg-1
播放器通过HTTP请求数据,HTTP头部应该以两个“\r\n”结束,但是三星GT-I9100G手机的播放器用三个“\r\n”结束,当User-Agent是最后一个头域的时候,难道User-Agent的那个字符串里面多了一个“\r\n”提到三星播放器,不得不说,他的怪脾气还真多。就像现在这个HTTP请求MP4文件,他要一点点Range请求,前面一点后面一点,又不像并行多连接,不知道出于什么考虑。以前
Android的流媒体协议支持不太好,标准只支持RTSP和MP4overHTTP。因为MP4头部大,启动会比较慢,另外MP4也不适合做直播。当然基于Android的开放性,完全可以自己做一个播放器,难点是要做解码和显示的适配,Android机型太多,这个适配工作量比较大。Android升级到4.0版本应该支持HLS,目前也有一些设备厂商在2.x版本上支持的HLS。但是要做统一的产品,还是只能用RT
IOS平台统一使用HLS协议,包括M3U8文件和分段TS文件1、抖屏现象:播放中画面动作抖动,好像画面的顺序错乱范围:Mp4文件转成TS,没有问题,ASF转成TS文件,有该现象原因:ASF没有cts_delta字段,TS(PES)中的PTS直接使用DTS,H.264中帧的顺序是DTS顺序,与显示顺序是不同的,B帧会出现在P帧前面,但是在后面显示方案:自己根据帧率和帧的顺序,计算PTS,或者恢复出c
下载了MPlayer-1.1源码并用mingw编译成功了,运行播放了几个视频文件,都OK。然而在测试了更多的视频文件时,出问题了,一直会输出下面的错误消息:A:454786.5 V:454786.5 A-V: 0.031 ct: 0.034 0/ 0 45% 15% 1.6% 23 0 [h264 @ 0xdc3f00]Reference 6 >= 3 [h264 @ 0xdc3
mplayer是比较成熟的开源播放器框架了,但是开发文档却是稀少的很,这一点与微软的directshow没办法比。当然mplayer是同时支持linux、windows、macos的;相反directshow根本就不能跨平台。不过我们这里只说移植,至于开发可以看看我的另一篇文章播放器插件实现系列——mplayer各位可以先看看mplayer的跨平台移植说明:http://www.mplayerhq
mplayer严格来说是不支持插件的,这与他的定位有关。mplayer有很多定制版,比如GMplayer,SMPlayer,MPlayerX,更多定制版是用在嵌入式平台,没有名字。mplayer是比较轻量级的播放器,结构小巧,但是编解码支持并不比其他播放器少。在mplayer上增加插件,需要直接修改源码,发布自己的定制版。与vlc不一样,mplayer中协议输入和解封装是必须分开的两个功能,不能合
vlc是通过模块来扩展它的功能,插件一般就是实现一个模块。vlc的模块有很多类型:AccessDemuxAccess_DemuxDecoderInterfaceVideofilterAudiofilterAudiooutputAccess提供输入功能,比如HTTP输入、文件输入Demux提供解封装功能,比如Asf、Mp4、Ts的解封装Access_Demux当然是Access、Demux两者的组合
directshow的文档比较详细,这里我们其实是要实现一个DirectShow的SourceFilter,在DirectShow提供的sdk包中,有实例代码(目录:Extras\DirectShow\Samples\C++\DirectShow\),我们的工程是拷贝Filters\PushSource然后做修改。主要修改如下:1、setup.cpp注册我们的filter原来的PushSource
我们之前做了一套库(SDK),可以把自己的流媒体内容提供给第三方使用。SDK使用API接口,接口相对简单,主要有下列函数:Open;Pause;Close;GetStreamCount;GetStreamInfo;GetDuration;Seek;ReadSample;现在我们需要将这套库集成到各种播放器框架中,如比较有名的:vlc、mplayer,directshow在使用这个播放器的时候,我们
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号