免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1145 | 回复: 0
打印 上一主题 下一主题

【原创】初探mplayer [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-04-21 00:15 |只看该作者 |倒序浏览
序:
  最近在搞跟视频相关的东西,自己用相关手段生成的ps文件在mplayer上播放不能很好的获取总的播放时间,当然在暴风等一些播放器上也不能很好的获取到时间,当然暴风咱也只能“眼睁睁”的看着它耍横,没办法,谁叫人家NB,不开源的东西,想了也是白想,那咱们就来一个曲线救赵的做法,当然首先想到的就是大名鼎鼎的mplayer啦,好东西啊(^.^)。从网上down了个,粗略地搜了把相关的资源,可能是偶搜索技术比较面,没搞到多少有价值的东西,当然这种东西大牛不想写,像我等面人却也不会,呜呼哀哉.......

预备:
   随便翻了翻mplayer的代码,貌似比较复杂。再说时间紧迫啊,那就找个软的捏-vlc呗,这个名气没有mplayer大,应该好些吧,窃喜ING。
   遂又down了个vlc的代码,看了下关于播放总时间的处理流程,发现相对来简明多了,思想也比较简单....此处省略1W字,呵呵,哪有这么多。无非就是一个简单的减法处理罢了。在自己的方案上按照vlc的方法做了相应的修改,结果可想而知啦,倒是正确了。但发现在mplayer上仍然不对,获取的时间始终不对,怪了....
   废话,当然相信mplayer啦,肯定是自己的东西还存在问题,没办法啦,就只有重新操刀,当然是个小刀。

手术:
    大致瞧了下她那美丽的轮廓, 不知道美不美,呵呵,欣赏能力有限啊。当然还是把我需要的东西找到了,其实跟我相关性最大的的文件也就demux_mpg.c这个文件罢了,恩,硬着头皮看看。
    ps数据的解析流程可以简单表述:demux_mpg_fill_buffer->demux_mpg_read_packet():读取数据,然后分析读取pts->demux_mpg_pes_probe->demux_mpg_probe->demux_mpg_open,在>demux_mpg_open函数中有对ps文件的获取播放总时间的一个处理过程。也是瞄了瞄,没太仔细,发现果然mm的对时间长度的处理比起vlc的确精致了不少,虽然他对偶的文件处理错了,但偶还是更确信mp在应对大量stream文件的处理能力比vlc强了不少。




本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/64985/showart_1904957.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP