2016
05-06

VR全景播放器思路 1025 VIEW

现在VR是越来越火,VR全景视频在未来会有很大普及,颠覆人们传统看视频方式。目前VR视频都是将不同角度拍摄的视频进行拼接而成的,然后通过特定播放器播放。自己对这也很感兴趣,视频拼接目前还没实力搞,先打算做个全景视频播放器。目前思路如下:1)获取拼接前的各个角度视频; 2)使用某个游戏引擎(比如unity)或者图像渲染引擎(OGRE,大学毕设用过)构造一个立体的物体,可以是球体,立方体,锥体等等; 3)解码之前获取的各个角度视频,然后映射到构造的立体物体上; 4)由于在游戏引擎的世界....Read More >
2016
05-05

VLC播放h264头几秒花屏问题 4335 VIEW

VLC播放h264头几秒花屏问题 原来测试解析mp4文件得到的h264码流都是用ffplay,没遇到什么问题,今天用vlc测试了下,发现刚开始时会有点花屏,后面就正常了。看了下h264码流,sps与pps后第一个nalu类型为sei(附加增强信息),也就是0x00000106起始码开头的,不是I帧,所以会出现这个情况。vlc没有对sei信息做处理,导致把sei与后面数据混在一起解码处理,出现丢数据的假象,而导致花屏。v....Read More >
2016
04-29

移动直播技术秒开优化经验(转) 1151 VIEW

移动直播技术秒开优化经验(转) [info]说明:本文转自@高可用架构,写的很详细,故拿来分享 作者:徐立,七牛创始合伙人兼产品副总裁,负责七牛直播云的整体研发,是国内 Go / Docker / Container 技术早期布道者,Go / Containers / Distributed Systems 技术的忠实爱好者和实践者。曾合著国内第一本 Go 语言图书《Go 语言编程》,翻译《Go 语言程序设计》。[/info]....Read More >
2016
04-29

flv文件adts头计算 2572 VIEW

flv文件adts头计算 常见flv文件封装的音频用的都是aac编码,aac文件有两种格式,一个是AIDS,一个是ADTS(Audio Data Transport Stream 音频数据传输流)。其中ADTS格式用于流式传输,因为每一帧都包含头信息,可以从任一帧开始解码,故用于流式传输。本文主要讲下flv文件中的adts。 adts的头部结构 adts头部大小7个字节或者9个字节(决定于是否包含CRC)。结构定义如下....Read More >
2016
04-15

libVLC SDK下载地址 2108 VIEW

以前在Windows下使用libVLC 时都是直接到官网下VLC安装包,安装后目录下有个SDK文件夹。最近要用到新版的SDK,安装完最新VLC后没看到目录下有SDK文件夹。后来找了下,在另一个地方可以下载到。下载地址:http://download.videolan.org/pub/videolan/vlc/在这个地址可以下载到各个版本的VLC,点击进入某个版本,下载windows下7z格式压缩包,解压即可得到相应的SDK。....Read More >
2016
04-08

avcodec_decode_video2解码得不到图像 2996 VIEW

如下所示代码: [crayon-5e25ebf1cc3b9563514398/]在使用avcodec_decode_video2函数解码时经常会遇到frameFinished == 0,也就是无法得到一帧解码后的图像。有些人可能会怀疑是哪里出错了,其实这是正常的现象,ffmpeg内部解码时做了处理。处理如下:1)该帧为B帧,由于B帧是前后参考帧,需要结合前面的I帧或者P帧,以及后面的P帧来生成完整图像,所以该帧如果是B帧,就无法立即解码,所以返回的frameFinished为....Read More >
2016
03-15

MP4解析得到的视频播放问题 1855 VIEW

MP4解析得到的视频播放问题 前段时间完成了AVI的文件解析程序,也封装了接口。这段时间一直在写MP4文件的解析程序(都没用到第三方库),已经写得差不多了,可以还原音视频帧列表,得到封装的音视数据。不过在测试播放解析得到的视频却发现了一个问题,部分MP4文件解析得到的视频可以用ffplay播放,部分不行。后来仔细对比了下视频文件内容,发现是视频编码类型导致的。解析后的视频数据不做处理,写到文件可以直接播放的mp4文件视....Read More >
2016
02-23

AVI文件详细解析 7417 VIEW

AVI文件详细解析 最近在做视频文件的解析,需要将视频文件中封装的视频与音频解析出来,然后用自己的解码器解码。这个过程专业点叫做叫做Demultiplex,视频播放器中负责这部分的叫做Demuxer。我们平时看到的各种格式视频,比如:avi,mp4,mkv等相当于一种容器,里面包含了音视频,字幕的信息以及数据,Demuxer的工作就是解析视频文件,取出里面的音视频或者字幕送到指定的解码器解码。我刚开始接触的a....Read More >