Category Archives: 视频技术研究

H264的Annex B格式和AVCC格式

本文转载自

http://blog.csdn.net/romantic_energy/article/details/50508332

本文需要读者对H.264流有一定的了解才可以理解2种格式差异。

首先要理解的是没有标准的H.264基本流格式。文档中的确包含了一个Annex,特别是描述了一种可能的格式Annex B格式,但是这个并不是一个必须要求的格式。标准文档中指定了视频怎样编码成独立的包,但是这些包是怎样存储和传输的却是开放的。

继续阅读

Posted in 视频技术研究 | Tagged | Leave a comment

关于CIF

这里说的CIF是 Common Intermediate Format的缩写,是用来描述视频帧的宽度和高度,图片的宽度和高度可以使用 MxN,M和N可以任何高度,这样就要定义几种标准的格式,因此就有了CIF了,当然还有别的格式,比如

VGA = 640×480

CIF有时候也被写成FCIF = Full Common Intermediate Format

继续阅读

Posted in 视频技术研究 | Leave a comment

ffmpeg 播放和下载YouTube视频

ffmpeg 播放和下载YouTube视频

ffmpeg默认是不支持分析YouTube视频的,想让ffmpeg支持YouTube,需要第三方的库,

libquvi

这个官方网站是:

quvi.soureforge.net

在写此篇博客的时候,官方提供的稳定版本是0.4,可用版本是0.9,下载稳定版本,然后

./configure && make && make install

继续阅读

Posted in FFMpeg, 视频技术研究, 音频技术研究 | Leave a comment

如何下载搜狗 百度 腾讯的歌曲

如何下载搜狗 百度 腾讯的歌曲

以前经常通过mp3.sogou.com收听和下载歌曲,可是后来发现此网站不再提供歌曲的下载,只可以听。至于探讨为什么为什么不再提供下载不在此文的讨论范围。本文就说说如何从这些网站下载自己喜欢的歌曲吧。

需要用到的工具

继续阅读

Posted in FFMpeg, 视频技术研究, 音频技术研究 | Leave a comment

如何获取YouTube的视频的真正播放地址

如何获取YouTube的视频的真正播放地址

通常YouTube的URL如下格式

https://www.youtube.com/watch?v=q_gr3dtBaic

有了这个地址,然后打开浏览器就可以播放。

但是如果我们使用任意支持https的播放器播放该视频,使用上面的URL是不行的,因为上面的地址只有YouTube的服务器才可以解析。此时我们需要知道真正的视频流的地址:

继续阅读

Posted in 视频技术研究 | Leave a comment

Wireshark分析HLS流

Wireshark分析HLS流

关于HLS的介绍,前面我有专门写一篇博文介绍
HLS媒体流简要

本篇文章介绍如何使用Wireshark分析HLS流,

为了抓包的方便,我们就是在内部的一台机器设置HLS的媒体流服务器,关于如何假设HLS服务器,前面也有介绍:

利用nginx-rtmp-module搭建HLS流媒体服务器然后在另外一台服务器使用vlc或者ffplay客户端访问HLS流,然后Wireshark就可以抓取对应的包,因为我们确定知道我们服务器的地址,所以可以使用下面的过滤器过滤客户端机器和服务器之间的数据流

继续阅读

Posted in 网络开发, 视频技术研究 | Leave a comment

利用nginx-rtmp-module搭建HLS流媒体服务器

利用nginx-rtmp-module搭建HLS流媒体服务器

此篇我们介绍如何使用nginx和它的扩展模块nginx-rtmp-module搭建HLS流媒体服务器。

继续阅读

Posted in 视频技术研究 | Leave a comment

HLS媒体流简要

HLS媒体流简要

HLS是HTTP Live Streaming的缩写。是起初是由苹果公司的提出,后来成为了一种标准。标准草案文档连接

https://tools.ietf.org/html/draft-pantos-http-live-streaming-13

还有苹果官方的文档:

https://developer.apple.com/streaming/

其主要思想就是

继续阅读

Posted in 视频技术研究 | Leave a comment

Flv视频格式解析

Flv视频格式解析

Flv文件分为2部分,头和数据部分。

Flv视频头

标准的视频头如下:

Field Data Type Default Details
Signature byte[3] “FLV” Always “FLV”
Version uint8 1 Only 0x01 is valid
Flags uint8 bitmask 0x05 Bitmask: 0x04 is audio, 0x01 is video (so 0x05 is audio+video)
Header Size uint32_be 9 Used to skip a newer expanded header

数据

视频头结束后,是数据部分,这部分是由一个一个的FLV tags组成,这个tag中包含一个15字节的头,其后紧跟实际的数据。头的前4个自己用来说明前面的 FLV tags的大小,主要用来回放(向前拖动)

继续阅读

Posted in 视频技术研究 | Tagged | Leave a comment

h264 stream internal

h264  stream internal

Obviously, the decoder operates with a sequence of bits received in a specific format. The binary stream is structured and divided into packets. On the upper level, there is separation of the stream on NAL-packets, and the stream has approximately the following form: 

 

Figure 1. Stream separation on NAL-packets





The abbreviation NAL stands for Network Abstraction Layer. The packet structure is shown in Figure 2. 

The first byte of a NAL-packet is a header that contains information about the type of packet. All the possible packet types are described in Table 1. 



Table 1. NAL types 

继续阅读

Posted in 视频技术研究 | Leave a comment