
音视频
James-0
福建帝视信息科技有限公司
E-mail:mydota@qq.com
展开
-
FFmpeg添加x265/hevc编码器支持
FFmpeg添加了对流行hevc编码器x265的支持极大的方便了编解码场景的融合应用。以下记录说明在windows下编译带libx265编码器的FFmpeg。环境 Windows7 + VisualStudio2015FFmpeg编译环境搭建 请参考我的博文Windows下编译FFmpegX265编译 请参考我的博文Windows下编译x265libx265环境配置 ...原创 2018-06-20 23:14:37 · 11723 阅读 · 2 评论 -
FFmpeg mxf扩展hdr、bt2020
最近做广电音视频项目,从CCTV发布的《中央广播电视总台4K超高清电视节目制播技术规范(暂行)》来看需要支持mxf封装XAVC编码的HLG视频。于是欣然完成了FFmpeg中XAVC Intra Class300/480的扩展工作,并且将HLG的信息封装进了H.264 sps vui中的color_trc、color_primaries。MediaInfo、FFprobe解析视频均解析到HL...原创 2018-10-30 17:17:18 · 5363 阅读 · 2 评论 -
量化参数QP与量化噪声(压缩伪影)
背景介绍 量化噪声/伪影介绍 现代视频编解码技术(包括 H.264/AVC, H.265/HEVC, Mpeg2/4 等)概括起来都可以认为是基于块的混合编码技术,技术上编码器将每一帧划分称为宏块的非重叠正方形。可以用帧内 Intra 预测和帧间 Inter 预测来处理压缩每一个宏块。在帧内模式中编码器仅使用当前帧来重构数 据,帧间模式中编码器使用先前处理的参考帧来重构数据。 ...原创 2018-10-25 14:27:15 · 8212 阅读 · 0 评论 -
FFmpeg XAVC实现/x264实现 (2)
思路 上一篇文章提到了XAVC的一些背景,以及非每帧固定码率的实现方法。然而如果要实现XAVC中的CBG模式(Constrained Bytes per GOP)就必须修改x264源码固定每帧码率。 x264中对松下 AVC Intra Class 有支持,AVC Intra Class 100/200是定义在HD下的与XAVC类似的标准。因此可以通过扩展这部分的代码功能来实...原创 2018-10-25 13:46:47 · 3167 阅读 · 6 评论 -
nvenc vs x264 对比(2)
目标分析Nvidia nvenc与x264的性能、编码质量差异。主要通过fps来衡量编码速度和效率,PSNR、SSIM、VMAF来衡量编码的画质,通过绘制PSNR-Bitrate、SSIM-Bitrate和VMAF-Bitrate来衡量编码器的压缩比。并通过以上的实验分析研究给出推荐的nvenc硬件编码参数方案。 数据准备为了包含普遍性选取以下YUV序列进行测试: 序...原创 2018-10-17 14:33:47 · 4566 阅读 · 0 评论 -
FFmpeg XAVC实现/XAVC编码标准调研 (1)
背景 XAVC是索尼与2012年10月30日发布的一种视频记录编码配置,但是理解XAVC并不是一种新的编码标准,它完全遵循于H.264/MPEG-4 AVC编码标准,在其基础上限制和规范了编码的配置,使其能够更好的适应于手持摄像设备、广播电视领域。 从CCTV发布的《中央广播电视总台4K超高清电视节目制播技术规范(暂行)》,XAVC-I Intra Class 300/480将...原创 2018-10-17 14:24:02 · 8303 阅读 · 1 评论 -
nvenc vs x264 对比(1)
最近这段工作频繁的接触编码器技术,产品的编码质量、码率和速度是最为关心指标。x264是非常优秀的软件编码器,但是其编码速度适应不了产品对实时编码的要求,nvenc是英伟达在其GPU中内嵌的视频编码器,编码的速度在GTX1070ti上实际测试可以达到4K@60fps的要求。但是在实验过程和网上找资料过程都反应nvenc编码出来的质量较差,但是市面上都没有找到明显的衡量差距的具体数据,因此在工作过程中...原创 2018-10-11 11:10:41 · 11432 阅读 · 0 评论 -
FFmpeg RTMP推HEVC/H265流
直播流媒体协议中,HLS和RTMP协议是两大主流协议。而众所周知的原因,RTMP在许多年前就已经停止拓展和更新,因此标准一直无法支持HEVC的编码格式。目前国内的CDN还有金山云等已经对RTMP进行了标准扩展,播放器上ijkplayer也扩展了该修改。 具体FFmpeg的修改代码如下:From e40fcb1113cb1c93c48b8ef74b8aec6437f23d84...原创 2018-08-15 14:31:21 · 23218 阅读 · 22 评论 -
FFmpeg+Nginx搭建RTMP直播推流服务
Nginx是优秀的开源并且可以添加插件的服务端,其中就有开源的RTMP插件nginx-rtmp-module实现了RTMP推流服务。 项目地址为:https://github.com/arut/nginx-rtmp-module搭建思路: 1. 采用nginx+nginx-rtmp-module搭建rtmp服务端 2. ffmpeg作为推送端,将视频...原创 2018-08-15 11:54:53 · 3452 阅读 · 0 评论 -
FFmpeg+Nginx搭建HLS直播服务
HLS是基于HTTP上的视频点播和直播传输协议,在目前OTT和IPTV点直播系统中被大面积应用。 在这个过程中为了调试和Demo方便常常需要搭建一个HLS服务,下面研究了一个基于FFmpeg+Nginx的直播HLS方案,核心思想是: 1. FFmpeg作为转码,HLS切片,m3u8更新工具。 2. Nginx负责HTTP服务。 运行FFmpeg服务:...原创 2018-08-09 10:28:41 · 6307 阅读 · 0 评论 -
Windows下编译x265
实验环境:Win7 + VisualStudio2015 +X265安装CMakehttps://cmake.org/download/安装Yasmhttp://yasm.tortall.net/Download.html下载x265git clone https://github.com/videolan/x265.git配置CMake生成VS工程注意这里主要配置代码的source目录sourc...原创 2018-06-20 16:21:34 · 3248 阅读 · 0 评论 -
GStreamer字幕解码模块实现
GStreamer是一个灵活、快速的特别适合作为音视频开发的框架。其Pipeline和插件等设计思想使其特别适合快速组装出一个复杂的多媒体应用。 然而,近一年用GStreamer以来发现其对字幕的支持特别有限,表现在一下方面,既有情况: 1. 字幕的解码器缺乏,如缺少pgs、xsub等图形字幕的独立解码模块支持 2. 其基于sink端字幕subtitle overlay于vide...原创 2018-06-19 21:53:31 · 1924 阅读 · 0 评论 -
FFmpeg提取es流
以H264/AVC为例子,分为Annex B格式和AVCC两种格式。Annex B格式通常应用于网络流播放,常见如ts流, AVCC格式通常应用于本地硬盘播放,常见如mp4、mkv等封装格式下es流为了实现nalu的分割需要包含nalu的前缀0x000001或者0x00000001。因此AVCC下需要转换成包括前缀的Annex B格式ts流转es流ffmpeg -i 1.ts -vcodec co...原创 2018-06-18 21:15:21 · 5349 阅读 · 1 评论 -
Windows下编译FFmpeg
在windows下编译FFmpeg较linux下要复杂许多,网上各种资料,自己编译的时候也踩过不少坑。环境:windows7 64bit,VS2015,FFmpeg版本commit b41b6b323417ce1e79bf818f91d60526697954f1Author: Danil Iashchenko <danyaschenko@gmail.com>Date: Fri Ju...原创 2018-06-18 20:46:59 · 1931 阅读 · 0 评论 -
Intel OpenVINO配置和使用
背景 最近的项目中,有客户提出在既有的CPU服务器上运行CNN的方案,即不添加nivida显卡已降低成本。因此调研Intel的OpenVINO方案。 OpenVINO是Intel提供的给予卷积神经网络的计算机视觉开发包。目的在能够快速的在Intel的硬件方案上部署和开发计算机视觉工程和方案。OpenVINO支持多种Intel硬件方案,包括CPU、集成显卡、Intel Movid...原创 2018-11-02 11:16:07 · 33677 阅读 · 15 评论