zoukankan      html  css  js  c++  java
  • Windows mobile和 symbian平台下rtsp流媒体播放器开发

    经过一段时间的努力手机3G应用流媒体播放器项目终于接近尾声了。回想整个过程历经坎坷阿!一共开发了两个平台的应用,首先是windows mobile平台,相对symbian来说资源多一些,所以先拿它下手阿。
      说一下实现思路,刚开始考虑使用directshow,经过验证没达到预期目的(水平差阿,不懂directshow),接着研究tcpmp,寻思开发一个rtsp流插件,再加上mpeg4的插件不就行了吗!一段时间之后发现tcpmp太牛了,没看懂!(没注释、没文档),在快要跳楼的时候决定改为比较最原始的实现方式,
      步骤如下:
      1、读取网络数据。
      2、交给解码器解码。
      3、转换格式。
      4、显示绘制。
      首先mobile平台有很多wince和开源的东西可以拿过来用,例子有很多不过大多都是播放本地文件。在这里有两个例子初学者可以看看。
      赛安软件工作室提供的一个mpeg4解码例子很不错可以研究一下。它用自己的解码器,可以播放15分钟,可以为自己所用的是他的写屏和yuvtorgb等。
      另外一个就是使用ffmpeg和sdl的例子,可以参考一下他使用ffmpeg的方法。ffmpeg在mobile平台下的代码我这有,网上也有!具体下载位置不说了,在google里搜索ffmpeg4mobile有很多个下载点。
      有了上面两个例子开始搞自己的东西吧。首先是rtsp读取网络流,这个东东网上也有,可以直接拿过用,我用的是开源的live55,不过需要移植一下。效率还可以!有了网络数据就要解码了,解码模块可以使用ffmpeg,但是效率不高,就考虑使用xvid,xvid这个解码器效率不错,并且也是开源的。有了网络数据和解码器其余的都是小问题了,解码器输出的yuv420,需要把它转换为rgb。这步转换网上很多,没有搜不到,只有想不到啊!最后参考第一个例子的绘制部分就可以搞定!
      附图:

  • 相关阅读:
    Go语言踩过的坑---记录GOPATH在GOLAND中的坑
    反射小例子
    制作pip包
    mac常用软件安装链接
    YCSB压测elasticsearch
    SSO和Auth2.0
    JAVA内部类的四大作用
    修改fastadmin,添加模糊查询
    AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.18.0.2. Set the 'ServerName' directive globally to suppress this message
    taro3.x: 封装实现chat emit on
  • 原文地址:https://www.cnblogs.com/xyzlmn/p/3168208.html
Copyright © 2011-2022 走看看