公司项目原因,接触了一下视频流H264的编解码知识,之前项目使用的是FFMpeg多媒体库,利用CPU做视频的编码和解码,俗称为软编软解.该方法比较通用,但是占用CPU资源,编解码效率不高.一般系统都会提供GPU或者专用处理器来对视频流进行编解码,也就是硬件编码和解码,简称为硬编解码.苹果在iOS 8.0系统之前,没有开放系统的硬件编码解码功能,不过Mac OS系统一直有,被称为Video ToolBox的框架来处理硬件的编码和解码,终于在iOS 8.0后,苹果将该框架引入iOS系统. 由此,开发…
转:http://blog.csdn.net/scalerzhangjie/article/details/8273410 项目要用到视频编解码,最近半个月都在搞,说实话真是走了很多弯路,浪费了很多时间.将自己的最终成果记录于此,期望会给其他人提供些许帮助. 参考教程: http://ffmpeg.org/trac/ffmpeg/wiki/UbuntuCompilationGuide安装ffmpeg和x264,官方权威教程(注意不要用命令行安装,会少很多库的.编译安装最保险) http://bl…
MediaCodec的使用demo: https://github.com/vecio/MediaCodecDemo https://github.com/taehwandev/MediaCodecExample http://bigflake.com/mediacodec/ 以下文章转载自: https://www.polarxiong.com/archives/Android-MediaCodec%E8%A7%86%E9%A2%91%E6%96%87%E4%BB%B6%E7%A1%AC%E4…
1.IOS编码 参考文档地址:https://developer.apple.com/library/ios/documentation/AudioVideo/Conceptual/MultimediaPG/UsingAudio/UsingAudio.html 2.IOS解码 3.Android 编解码 参考文档地址:http://developer.android.com/guide/appendix/media-formats.html…
一.YUV 介绍 YUV是一种颜色编码方方式,通常由彩色摄像机进行取像,然后把取得的彩色图像信号经过分色.分别放大校正后得到RGB,再经过矩阵变换得到亮度信号Y和两个色差信号B-Y(即U).R-Y(即V),最后将亮度和色差三个信号分别编码,用同一信道发送出去.这种色彩的表示方法就是所谓的YUV色彩空间表示.采用YUV色彩空间的重要性就是它的亮度信号Y和色度信号U.V是分离的. YUV 的优点 YUV主要用于优化彩色视频信号的传输.与RGB视频信号传输相比,它最大的优点在于只需占用极少的频宽(RG…
一.YUV 介绍 YUV是一种颜色编码方方式,通常由彩色摄像机进行取像,然后把取得的彩色图像信号经过分色.分别放大校正后得到RGB,再经过矩阵变换得到亮度信号Y和两个色差信号B-Y(即U).R-Y(即V),最后将亮度和色差三个信号分别编码,用同一信道发送出去.这种色彩的表示方法就是所谓的YUV色彩空间表示.采用YUV色彩空间的重要性就是它的亮度信号Y和色度信号U.V是分离的. YUV 的优点 YUV主要用于优化彩色视频信号的传输.与RGB视频信号传输相比,它最大的优点在于只需占用极少的频宽(RG…
1. 编码: 1.对编码资源的初始化 AVCodec* m_pVideoEncoder;// 特定编码器的参数信息 AVCodecContext* m_pVideoEncoderContext;// 设置的编码参数信息 AVFrame* m_YUV_Frame;// RGB转换为YUV数据帧以减少传输数据量,减少网络带宽占用 AVFrame* m_RGB_Frame;// 获取到的数据帧 SwsContext* m_pSwsc;// 保存由YUV转换为RGB的转换参数的结构体 // 根据给定的编…
一.H264 概述 H.264,通常也被称之为H.264/AVC(或者H.264/MPEG-4 AVC或MPEG-4/H.264 AVC) 1. H.264视频编解码的意义 H.264的出现就是为了创建比以前的视频压缩标准更高效的压缩标准,使用更好高效的视频压缩算法来压缩视频的占用空间,提高存储和传输的效率,在获得有效的压缩效果的同时,使得压缩过程引起的失真最小.MPEG-4 AVC和H.264 是目前较为主流的编码标准.主要定义了两方面的内容:视频数据压缩形式的编码表示和用重建视频信息的语法来…
PS:由于目前开发RTSP服务器传输模块时用到了h264文件,所以攻了一段时间去实现h264的视频编解码,借用FFmpeg SDK实现了任意文件格式之间的转换,并实现了流媒体实时播放,目前音视频同步需要稍加完善,视频编码代码已成功移植到Visual Stdio平台,如有需要的留下邮箱 以下文档来自FFmpeg工程组(http://www.ffmpeg.com.cn/index.php开发事例) 实现转码一个普通视频文件为视频mpeg4,音频mp3的功能的程序 本程序源引自FFmpeg工程组,实现…
一.前言 ffmpeg在视音频编解码领域算是一个比较成熟的解决方案了.公司的一款视频编辑软件正是基于ffmpeg做了二次封装,并在此基础上进行音视频的编解码处理.然而,在观察编码后的视频质量时,发现图像帧出现了较为明显噪声,类似于水面波纹一般散发开来,在运动场景下尤为明显.初步怀疑应该是码率太低导致的画面失真.于是增大码率重新编码一次,噪声仍然很明显.基本上可以排除是码率太低的问题. 仔细观察原片,也可发现有类似的图像噪声出现,但是微乎其微到几乎不可察觉.于是再次怀疑是ffmpeg在编解码的过程…