Chinaunix首页 | 论坛 | 博客
  • 博客访问: 382073
  • 博文数量: 119
  • 博客积分: 1796
  • 博客等级: 上尉
  • 技术积分: 890
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-14 10:16
个人简介

守正

文章分类
文章存档

2013年(1)

2011年(40)

2010年(78)

分类: 嵌入式

2010-06-07 14:43:00

现在手上有两个链接 
(1)  
(2)  
现在的情况是这样的: 
lusure2009-12-30 16:57
1.(1)在android中可以播放,(2)不能播放 
2.在android中把视频下载下来,都可以播放。 
3.在pc上用vlc测试两个链接,(1)播放几秒后卡住不动,(2)流畅播放。(ps:网速不是问题) 
把两个文件都下载下来,头部分如下: 
(1)ftypisom   isomiso2avc1mp41  遞moov  lmvhd    |%皜|%皜  ?摢   
(2)ftypisom   isomiso2avc1mp41  free 0⑸mdat?  libfaac 1.28  B ?2 G  
现在想要知道(2)这个链接为什么不能播放。跟踪了android的代码,发现在http协议播放MP4的时候,需要moov这个atom,否则报错退出,但是在以文件形式播放的时候没有这项判断。 
想问下这两个链接的播放方式有什么不同,为什么在android上的播放和在vlc上的播放都出现不同的结果?

psusong2009-12-31 10:18

实际情况是播放mp4的时候必须首先获得moov的数据,否则没法解析mdat中的audio/video数据 

对于2的情况,是因为moov在mdat后面,也就是在文件末尾,要播放这个文件意味要先把mdat下载下来才能下载到moov,也就是说没法直接获得moov,所以不能通过http的方式在线播放这个文件 

并不是以文件的形式就不判断moov了,而是文件形式下moov无论在文件头还是文件尾部播放器都可以instant获得moov的数据,而http的方式下不能随意的seek到文件尾部,所以也就无法立即获得moov数据,当然无法播放了 

阅读(6341) | 评论(4) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2011-02-28 23:05:21

http://multimedia.cx/eggs/improving-qt-faststart

chinaunix网友2011-02-28 23:05:19

http://multimedia.cx/eggs/improving-qt-faststart

chinaunix网友2011-01-18 16:21:07

那么您最终解决了由于moov导致不能在线播放的问题了吗? 或者说您是通过什么格式转换软件来达到让moov信息放在mp4头文件的?

chinaunix网友2010-07-16 13:10:26

你好,请问你用的流媒体服务器是什么呢??