音视频
newrtc
这个作者很懒,什么都没留下…
展开
-
nginx + ffmpeg 搭建m3u8服务器
1、 安装nginxnginx官方 http://nginx.org/ nginx-rtmp-module:官网:https://github.com/arut/nginx-rtmp-module增加:http_ssl_module:configure --add-module= --with-http_ssl_modulemakesudo mak原创 2014-01-22 17:26:18 · 18735 阅读 · 3 评论 -
ffplay程序运行流程分析
http://blog.csdn.net/yangping1220/article/details/112324191、main()开始: 分别注册编解码器,复用以及解复用器[cpp] view plaincopyprint?avcodec_register_all(); //register code转载 2013-12-30 10:58:58 · 4589 阅读 · 1 评论 -
X264参考手册
转自:http://www.elesos.com/index.php?title=X264%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8C基本语法:x264 [options] -o outfile infile注意与ffmpeg的输入输出文件位置恰好相反:ffmpeg [options] [[infile options]转载 2013-12-03 15:56:59 · 3012 阅读 · 0 评论 -
speex 编解码 demo
// demo.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include #include #include #include #include #pragma comment(lib,"libspeexd转载 2013-11-21 17:17:59 · 3510 阅读 · 0 评论 -
ffmpeg 从mp4上提取H264的nalu
http://blog.csdn.net/gavinr/article/details/71834991.获取数据ffmpeg读取mp4中的H264数据,并不能直接得到NALU,文件中也没有储存0x00000001的分隔符。下面这张图为packet.data中的数据从图中可以发现,packet中的数据起始处没有分隔符(0x00000001), 也不是0x65、0x67、0x转载 2013-10-26 19:22:01 · 1054 阅读 · 0 评论 -
Android 的视频编码 H263 MP4V H264
经过几天的折腾,并参照http://www.javaeye.com/problems/27244 大体实现的Android 的实时编码问题,但是只是思路,还没有进入代码实现的阶段。 比较重要的2个类 MediaRecorder ParcelFileDescriptor MediaRecorder 是Android提供的进行采集编码的类,而 ParcelFileDes转载 2013-10-25 20:44:33 · 1891 阅读 · 0 评论 -
文章【Android 的视频编码 H263 MP4V H264】的代码实现
最近很多同学问我SPS和PPS在那里设置,其实这篇文章只是我 上篇文章的一个简单实现 具体情况情看看上一篇 http://blog.csdn.net/zblue78/archive/2010/12/15/6078040.aspx 这里只用HTC的G7做了H264的程序,谅解! csdn的资源慢了 粘代码算了 资源转载 2013-10-25 21:00:13 · 1877 阅读 · 0 评论 -
H264(NAL简介与I帧判断)
1、NAL全称Network Abstract Layer, 即网络抽象层。 在H.264/AVC视频编码标准中,整个系统框架被分为了两个层面:视频编码层面(VCL)和网络抽象层面(NAL)。其中,前者负责有效表示视频数据的内容,而后者则负责格式化数据并提供头信息,以保证数据适合各种信道和存储介质上的传输。因此我们平时的每帧数据就是一个NAL单元(SPS与PPS除外)。在实际的转载 2013-10-25 21:03:33 · 916 阅读 · 0 评论 -
FFMPEG的一些使用技巧
1 在vc中使用ffmpeg静态库做二次开发的时候,如果不是控制台应用程序,又需要查看ffmpeg的日志信息,可使用av_log_set_callback函数注册一个回调函数,如void ff_log_callback(void*avcl, int level, const char*fmt, va_list vl){ char log[1024];转载 2013-09-06 10:37:00 · 7085 阅读 · 1 评论 -
使用ffmpeg封装ts流的问题
#include "stdafx.h"#include #include #include #include #ifdef __cplusplusextern "C"{#endif #include "libavformat\avformat.h"#include "libavcodec\avcodec.h"转载 2013-08-05 09:40:46 · 4645 阅读 · 0 评论 -
ffplay流程分析
最近想做一个基于ffmpeg的播放器,最好的方法就是参考ffplay。简单分析一下在stream_open后启动三个线程 read_thread: 关键函数av_read_frame 作用是读取帧 推测单独拿出一个线程是因为接受网络数据时,怕因堵塞丢包 video_thread: 关键函数avcodec_decode_video2 解码视频,单独解码线程,解码后放入队列,原创 2014-01-03 14:54:48 · 5126 阅读 · 0 评论 -
android硬编码h264-MediaCodec
本人对android已无大爱,更新太快,就h264编码先后实现了 ffmpeg+x264软编 Mediarecoder提取,还没能稳定的又出了MediaCodec,更新太快。我还是研究网络吧。既然瞅了几眼,就发出来个测试版本吧。android编码h264, 用udp发送到vlc播放测试。代码上传至:http://download.csdn.net/detail/liuhongxiangm/677原创 2013-12-26 15:40:00 · 63744 阅读 · 30 评论 -
H.264 基础及 RTP 封包详解
一. h264基础概念1、NAL、Slice与frame意思及相互关系1 frame的数据可以分为多个slice.每个slice中的数据,在帧内预测只用到自己slice的数据, 与其他slice 数据没有依赖关系。NAL 是用来将编码的数据进行大包的。 比如,每一个slice 数据可以放在NAL 包中。I frame 是自己独立编码,不依赖于其他frame 数据。P frame 依赖 ...转载 2019-06-14 15:08:05 · 530 阅读 · 0 评论 -
android 系统自带 回声消除
android 系统自带回声消除 http://www.newrtc.com/2017/10/25/android-system-echo/github: https://github.com/newrtc/AndroidEchoDemo/原创 2017-10-25 20:00:25 · 7301 阅读 · 3 评论 -
Opus:IETF低延迟音频编解码器:API和操作手册
https://www.zybuluo.com/khan-lau/note/383775Opus简介 Opus编解码器是专门设计用于互联网的交互式语音和音频传输。它是由IETF的编解码器工作组设计的,合并了Skype的SILK和Xiph. Org的CELT技术。 Opus编解码器的设计目的是处理广泛的交互式音频应用程序,包括IP语音,视频,游戏内聊天,甚至远程现场音乐转载 2016-10-25 11:16:54 · 5867 阅读 · 0 评论 -
移动终端m3u8优势
http://www.zhihu.com/question/19644648/answer/12582153HTTP Live Streaming 这个是 Apple 为了提高流播效率开发的技术,特点是将流媒体切分为若干 TS 片段(比如每10秒一段),然后通过一个扩展的 m3u 列表文件将这些 TS 片段集中起来供客户端播放器接收。这样做相比使用 RTSP 协议的好处在于转载 2015-12-11 16:17:01 · 7988 阅读 · 0 评论 -
android 视频通话带回声消除一
android 视频电话,例子下载地址http://download.csdn.net/detail/liuhongxiangm/8385397经过小半年的断断续续的研究,终于做出了差不多的demo分析了好多视频聊天的软件,大多在强调如何传输,什么rtp,rtmp,sip等的协议,很少详细介绍音视频开发技术的,尤其是音频的处理,回声消除,降噪等的。编码选型:做了好多测试,我原创 2015-01-22 10:26:18 · 8563 阅读 · 7 评论 -
通过 ffmpeg 无损剪切/拼接视频
通过 ffmpeg 无损剪切/拼接视频剪切/拼接视频文件是一种常见需求。在线视频网站现在往往将一个视频文件分割成 n 段,以减少流量消耗。使用 DownloadHelper/DownThemAll 这类工具下载下来的往往就是分割后的文件。能实现剪切/拼接视频文件的工具多种多样,但往往都需要进行视频重编码(transcoding),这就不可避免的带来了视频质量上的损耗,更不用提那长的令人发指转载 2014-09-02 09:13:17 · 11741 阅读 · 0 评论 -
音频编解码·实战篇(1)WAV转至AAC(AAC编码)
http://blog.csdn.net/simongyley/article/details/8507928这里利用FAAC来实现AAC编码。另外,WAV的数据段是PCM,代码会出现很多PCM缩写。1 下载安装 FAAC这里的安装过程是在 Mac 和 Linux 上实现的,Windows可以类似参考。wget http://downloads.sourceforg转载 2014-04-04 15:14:44 · 3166 阅读 · 1 评论 -
H264(NAL简介与I帧判断)
http://blog.csdn.net/jefry_xdz/article/details/84613431、NAL全称Network Abstract Layer, 即网络抽象层。 在H.264/AVC视频编码标准中,整个系统框架被分为了两个层面:视频编码层面(VCL)和网络抽象层面(NAL)。其中,前者负责有效表示视频数据的内容,而后者则负责格式化数据并提供头转载 2014-03-24 16:27:15 · 1169 阅读 · 0 评论 -
nginx hls rtmp 环境搭建
1.准备安装包nginx:http://nginx.org/download/nginx-1.5.3.tar.gznginx-rtmp-module:https://github.com/arut/nginx-rtmp-module/releases,nginx-rtmp-module-1.0.2pcre:http://vcs.pcre.org/viewvc/code/tags/pcr转载 2014-02-17 13:47:00 · 1950 阅读 · 0 评论 -
RTP协议分析
整理记录http://blog.csdn.net/bripengandre/article/details/2238818版本时间内容整理人V1.02008-03-31RTP协议分析初稿彭令鹏转载 2013-07-30 14:19:23 · 885 阅读 · 0 评论 -
用ffmpeg把H264数据流解码成YUV420P
在网上找了很久这方面的内容,发现网上的代码都太旧了,所使用的函数旧到连最新版本的ffmpeg都已经不包含了,所以对于我这个初学者来说太坑拉。不过经过多次查找ffmpeg的头文件和结合网上的内容,终于成功可以解码拉。现在贴出来。首先是初始化一些参数[cpp] view plaincopy//下面初始化h264解码库 avcodec转载 2013-06-21 14:16:03 · 1525 阅读 · 0 评论 -
YUV格式详解
YUV格式有两大类:planar和packed。对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。对于packed的YUV格式,每个像素点的Y,U,V是连续交*存储的。 YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或Chro转载 2013-06-20 11:26:44 · 768 阅读 · 0 评论 -
视频编码与封装方式详解
http://blog.csdn.net/attilax/article/details/58070471. 编码方式和封装格式2. 视频编码标准两大系统MPEG-1MPEG-2MPEG-3MPEG-4ITU-TWMV3. 常用视频编码方式有Xvid(4. 常见存储封装格式5. 几种常见的转换格式设置6. 无损视频编码 1. 编转载 2013-04-17 10:14:02 · 2237 阅读 · 0 评论 -
ffmpeg结构体的关系
http://blog.csdn.net/jacklam200/article/details/8180950基本概念: 编解码器、数据帧、媒体流和容器是数字媒体处理系统的四个基本概念。首先需要统一术语: 容器/文件(Conainer/File):即特定格式的多媒体文件。 媒体流(Stream):指时间轴上的一段连续数据,如一段声音数据,一段视频数据或一段字转载 2013-04-17 10:05:11 · 1294 阅读 · 0 评论 -
ffmpeg结构体以及函数介绍
转自:http://blog.chinaunix.net/uid-20718335-id-3024436.html本文对在使用ffmpeg进行音视频编解码时使用到的一些函数做一个简单介绍,我当前使用的ffmpeg版本为:0.8.5,因为本人发现在不同的版本中,有些函数名称会有点小改动,所以在此有必要说明下ffmpeg的版本号。 ffmpeg本人也是刚接触,本文将采用累加的方法逐个介绍转载 2013-04-17 09:57:51 · 2285 阅读 · 0 评论 -
MPEG压缩中的I、B、P帧
1、H264中I、P、B 帧编码的基本流程I 帧编码的基本流程为:(1) 进行帧内预测,决定所采用的帧内预测模式。(2) 像素值减去预测值,得到残差。(3) 对残差进行变换和量化。(4) 变长编码和算术编码。(5) 重构图像并滤波,得到的图像作为其它帧的参考帧。P 帧和 B 帧编码的基本流程为:(1) 进行运动估计,计算采用帧间编码流程编转载 2013-04-17 10:01:50 · 963 阅读 · 0 评论 -
C语言的面向对象设计-对X264/FFMPEG架构探讨
本文贡献给ZSVC开源社区(https://sourceforge.net/projects/zsvc/),他们是来自于中国各高校的年轻学子,是满怀激情与梦想的人,他们将用自己的勤劳与智慧在世界开源软件领域为中国留下脚步,该社区提供大量视频编解码和图像处理的学习实践机会,让广大参与者能够体验理论转变为实际的过程。欢迎任何感兴趣的朋友联系他们。正文类似题目的文章已经不新鲜了,这里,我转载 2013-04-17 10:16:48 · 907 阅读 · 0 评论 -
各种主流音频/视频编码格式介绍
http://storage.chinaunix.net/stor/other/2007/05/14/1110624.shtml1、PCM编码 PCM 脉冲编码调制是Pulse Code Modulation的缩写。前面的文字我们提到了PCM大致的工作流程,我们不需要关心PCM最终编码采用的是什么计算方式,我们只需要知道PCM编码的音频流的优点和缺点就可以了。PCM编码的最大的优点就转载 2013-04-17 10:09:33 · 4871 阅读 · 0 评论 -
apiexample.c例子
apiexample.c例子教我们如何去利用ffmpeg库中的api函数来自己编写编解码程序。 (1)首先,main函数中一开始会去调用avcodec_init()函数,该函数的作用是初始化libavcodec,而我们在使用avcodec库时,该函数必须被调用。 (2)avcodec_register_all()函数,注册所有的编解码器转载 2013-04-16 15:17:14 · 830 阅读 · 0 评论 -
基于Ubuntu交叉编译FFmpeg Windows SDK
基于Ubuntu交叉编译FFmpeg Windows SDK写在前面 FFmpeg是一个开源且跨平台的音视频解决方案,集采集、转码、流式化为一身,项目的libavcodec编解码模块和libavformat媒体格式模块,支持非常非常丰富的编解码格式和容器封装格式,是做媒体相关开发工作必须要掌握和借鉴的一个项目。定制和编译ffmpeg是做流媒体开发迟早要面对的,linux平台上相对转载 2013-04-16 10:41:46 · 951 阅读 · 0 评论 -
各种音视频编解码学习详解 h264 ,mpeg4 ,aac 等所有音视频格式
编解码学习笔记(一):基本概念媒体业务是网络的主要业务之间。尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析、应用开发、释放license收费等等。最近因为项目的关系,需要理清媒体的codec,比较搞的是,在豆丁网上看运营商的规范 标准,同一运营商同样的业务在不同文档中不同的要求,而且有些要求就我看来应当是历史的延续,也就是现在已转载 2013-04-22 14:42:16 · 4917 阅读 · 0 评论 -
YUV RGB (转载)
今天对颜色一些格式转换有些不明白的地方,在网上找了一些文章,感谢原作者,现张贴如下:颜色空间是一个三维坐标系统,每一种颜色由一个 点表示。在 RGB 颜色空间中,红,绿,蓝是基本元素。RGB 格式是显示器通常使用的格式。在 YUV 空间中,每一个颜色有一个亮度信号 Y,和两个色度信号 U 和 V。亮度信号是强度的感觉,它和色度信号断开,这样的话强度就可以在不影响颜色的情况下改变。YUV转载 2013-04-19 18:19:02 · 1170 阅读 · 0 评论 -
帧率、码流与分辨率
http://blog.chinaunix.net/uid-22848040-id-1767590.html一、帧率、码流与分辨率 帧率概念 一帧就是一副静止的画面,连续的帧就形成动画,如电视图象等。我们通常说帧数,简单地说,就是在1秒钟时间里传输的图片的数,也可以理解为图形处理器每秒钟能够刷新几次,通常用fps(Frames Per Second)表示。每一帧都是转载 2013-04-19 17:14:06 · 1460 阅读 · 0 评论 -
YUV 理解
色差信号R-Y(即U)、B-Y(即V),最后发送端将亮度和色差三个信号分别进行编码,用同一信道发送出去。这种色彩的表示方法就是所谓的YUV色彩空间表示。采用YUV色彩空间的重要性是它的亮度信号Y和色度信号U、V是分离的。如果只有 Y信号分量而没有U、V信号分量,那么这样表示的图像就是黑白灰度图像。彩色电视采用YUV空间正是为了用亮度信号Y解决彩色电视机与黑白电视机的相容问题,使黑白电视机也能接收彩转载 2013-04-19 16:47:32 · 3971 阅读 · 0 评论 -
YUV420图像格式
http://blog.csdn.net/shallon_luo/article/details/5544796YUV中的Y是指“灰度”或者“明亮度” ,英语表达为Luminance、Luma,luminance 表示为 Y, luma 表示为 Y'。Y与RGB的演算关系为:Y = 0.2126 R + 0.7152 G + 0.0722 B,Y' = 0.2126 R' + 0.71转载 2013-06-20 11:48:34 · 1712 阅读 · 0 评论 -
ts流中mpeg2音视频同步及算法小记
http://blog.csdn.net/rcfalcon/article/details/6164729在ts流中,MPEG2编码中,音视频包是交错出现的。分析其pts可以发现,在同等交错位附近,音频的pts要比视频的靠前得多。 比如一段实际码流数据如下: --------------------------valid video packet count1v转载 2013-06-06 12:14:32 · 1840 阅读 · 0 评论 -
ffmpeg转码MPEG2-TS的音视频同步机制分析
http://blog.chinaunix.net/uid-26000296-id-3483782.html一、FFmpeg忽略了adaptation_field()数据FFmpeg忽略了包含PCR值的adaptation_filed数据;代码(libavformat/mpegts.c)分析如下:/* 解析TS包 */int handle_packet(MpegTSCo转载 2013-06-05 15:39:08 · 1419 阅读 · 0 评论 -
android ndk 编译ffmpeg+x264
x264:下载最新源码创建 build_x264.shNDK= NDK=/home/eric/android-ndk-r8PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.4.3/prebuiltPLATFORM=$NDK/platforms/android-8/arch-armPREFIX=/home/eric/De转载 2013-05-15 11:56:01 · 3150 阅读 · 2 评论