H264的Annex B格式和AVCC格式
本文转载自
http://blog.csdn.net/romantic_energy/article/details/50508332
本文需要读者对H.264流有一定的了解才可以理解2种格式差异。
首先要理解的是没有标准的H.264基本流格式。文档中的确包含了一个Annex,特别是描述了一种可能的格式Annex B格式,但是这个并不是一个必… 更多... “H264的Annex B格式和AVCC格式”
IT夜班车
本文转载自
http://blog.csdn.net/romantic_energy/article/details/50508332
本文需要读者对H.264流有一定的了解才可以理解2种格式差异。
首先要理解的是没有标准的H.264基本流格式。文档中的确包含了一个Annex,特别是描述了一种可能的格式Annex B格式,但是这个并不是一个必… 更多... “H264的Annex B格式和AVCC格式”
这里说的CIF是 Common Intermediate Format的缩写,是用来描述视频帧的宽度和高度,图片的宽度和高度可以使用 MxN,M和N可以任何高度,这样就要定义几种标准的格式,因此就有了CIF了,当然还有别的格式,比如
VGA = 640×480
CIF有时候也被写成FCIF = Full Common Intermediate Format
第一次接触CIF是在研究h263的时候,那时候看… 更多... “关于CIF”
ffmpeg Provided packet is too small, needs to be
我们在调用
avcodec_encode_xxxx
的时候,会出现上面的错误,原因是没有初始化
AVPacket
例如:
ret = avcodec_encode_audio2( pEncCodecCtx, &encPkt, encFrame, &got_output);
也就是说encPkt没有初始化,ffmpeg为初始化提… 更多... “ffmpeg Provided packet is too small, needs to be”
ffmpeg lib库显示版本和编译信息
如果你有ffmpeg或者ffplay那么显示版本信息或者编译时的选项是很直接的,直接 运行这2个命令中的任何一个就可以:
$>ffmpeg
ffmpeg version N-75563-g235381e Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.8.3 (GCC) 20140911 (Red Ha… 更多... “ffmpeg lib库显示版本和编译信息”
ffplay可以播放本地文件,这是大部分人都知道的; 但是ffplay还可以播放网络资源,比如RTSP,UDP流。
RTSP有它自己定义的格式,那么UDP有什么格式要求吗?
答案是没有,UDP包不需要设置任何的参数,或者说包含任何的头部,直接就是压缩后的每帧的数据。所以我们可以自己写一个程序,将视频帧的原始数据经过压缩,然后将压缩后的数据直接使用udp协议发送出去,然后使用ff… 更多... “ffplay能够播放媒体流”
ffmpeg默认是不支持分析YouTube视频的,想让ffmpeg支持YouTube,需要第三方的库,
libquvi
这个官方网站是:
quvi.soureforge.net
在写此篇博客的时候,官方提供的稳定版本是0.4,可用版本是0.9,下载稳定版本,然后
./configure && make && make install
以前经常通过mp3.sogou.com收听和下载歌曲,可是后来发现此网站不再提供歌曲的下载,只可以听。至于探讨为什么为什么不再提供下载不在此文的讨论范围。本文就说说如何从这些网站下载自己喜欢的歌曲吧。
需要用到的工具
firebug
firefox
firebug是firefox浏览器的一个插件。
打开mp3.sogou.com,搜索自己喜欢的歌曲,然后单击… 更多... “如何下载搜狗 百度 腾讯的歌曲”
如何获取YouTube的视频的真正播放地址
通常YouTube的URL如下格式
有了这个地址,然后打开浏览器就可以播放。
但是如果我们使用任意支持https的播放器播放该视频,使用上面的URL是不行的,因为上面的地址只有YouTube的服务器才可以解析。此时我们需要知道真正的视频流的地址:
这个可以通过youtube-dl和工具获取。先下载这个工具:
关于HLS的介绍,前面我有专门写一篇博文介绍
HLS媒体流简要
本篇文章介绍如何使用Wireshark分析HLS流,
为了抓包的方便,我们就是在内部的一台机器设置HLS的媒体流服务器,关于如何假设HLS服务器,前面也有介绍:
利用nginx-rtmp-module搭建HLS流媒体服务器然后在另外一台服务器使用vlc或者ffplay客户端访问HLS流,然后Wires… 更多... “Wireshark分析HLS流”
利用nginx-rtmp-module搭建HLS流媒体服务器
此篇我们介绍如何使用nginx和它的扩展模块nginx-rtmp-module搭建HLS流媒体服务器。
需要用到2个工程,nginx的源代码和nginx-rtmp-module,分别从他们的官方网站下载:
http://nginx.org/en/download.html
https://github.com/arut/nginx-… 更多... “利用nginx-rtmp-module搭建HLS流媒体服务器”