修改mplayer,使其支持在线无缝播放多个flv片段

      最近在做mplayer的在线视频播放,由于现在很多网站的的视频节目都被分割了一个个片段,而mplayer可以通过playlist方式播放片段,但每个片段都需要重新缓冲,这里我想在第一个片段下载完成后,立即开始将第二段视频数据缓存,在此还需修改 network.c http.c 等多个文件已实现同服务器连接,提前下载数据。

      现将过程介绍如下,希望能给需要的人做个参考。

1. 修改 cache2.c文件 ,使其支持在第一片段下载完成后进行第二片段缓存。

2. 修改 mplayer.c 文件, 编写open_playlist_file函数,使其可以通过playlist方式得到播放列表的url地址。

3. 在第一段视频缓冲结束后,开始通过url地址与服务器进行连接并下载数据,这里要把视频数据头剥离掉,以免解码器不认数据。

4. 修改generate_video_frame函数,通过读取下一包数据的pts与当前包pts比较,解决音视频不同步问题。

5. 在全部数据播放完后需要控制mplayer的播放状态,退出播放。

 

基本思路就这些,具体细节太多了,不过有了思路一切都好办,呵呵。。。 一起努力!

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值