自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

James的博客

不跟随

  • 博客(24)
  • 收藏
  • 关注

原创 FfDL任务挂起halt和恢复resume功能实现

    FfDL官方目前代码任务挂起仅仅实现将数据库里面的Status字段修改为HALTED,没有实现真正意义上的pod销毁、任务状态信息保留,resume接口更是没有实现。由于项目需要,需要实现这部分功能。    思路:采用restapi PatchModel进行服用,当消息是Halt的时候标记挂起操作,Resume标记恢复操作。    挂起实现逻辑:请求参数为训练id,从mongo数据...

2019-02-18 11:37:55 716

原创 AWS s3 java api使用

    由于项目需要采用minio快速搭建了一个分布式s3存储系统,为了考虑以后迁移到ceph的可能性,后端api放弃了minio的官方api而采用Amazon提供的官方s3 api,由于minio是兼容s3协议的存储系统,因此理论上可以采用aws sdk进行调用。    下载java sdk的sample代码:     git clone https://github.com/awsla...

2019-02-13 20:23:45 11235

原创 k8s pod指定在master节点上运行

    在某些场景,例如资源有限或特殊的拓扑结构下,需要将某些服务可以或者指定到k8s的master节点进行运行。    这时候就需要通过修改pod的配置,使其可以在任意节点上运行(包括master和node):    tolerations:        - key: node-role.kubernetes.io/master          effect: NoSchedul...

2019-02-13 19:58:25 9913 1

原创 Ubuntu部署FfDL记录

Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。准备docker:k8s底层是基于docker的,所以你需要先安装docker.禁掉swap分区:你可以用sudo swapoff -a,要永久禁用swap分区的话,需要s...

2019-01-25 15:45:04 752

原创 Intel OpenVINO配置和使用

背景    最近的项目中,有客户提出在既有的CPU服务器上运行CNN的方案,即不添加nivida显卡已降低成本。因此调研Intel的OpenVINO方案。    OpenVINO是Intel提供的给予卷积神经网络的计算机视觉开发包。目的在能够快速的在Intel的硬件方案上部署和开发计算机视觉工程和方案。OpenVINO支持多种Intel硬件方案,包括CPU、集成显卡、Intel Movid...

2018-11-02 11:16:07 33192 15

原创 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 5033 2

原创 量化参数QP与量化噪声(压缩伪影)

背景介绍    量化噪声/伪影介绍 现代视频编解码技术(包括 H.264/AVC, H.265/HEVC, Mpeg2/4 等)概括起来都可以认为是基于块的混合编码技术,技术上编码器将每一帧划分称为宏块的非重叠正方形。可以用帧内 Intra 预测和帧间 Inter 预测来处理压缩每一个宏块。在帧内模式中编码器仅使用当前帧来重构数 据,帧间模式中编码器使用先前处理的参考帧来重构数据。  ...

2018-10-25 14:27:15 7623

原创 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 2781 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 4342

原创 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 7373 1

原创 nvenc vs x264 对比(1)

最近这段工作频繁的接触编码器技术,产品的编码质量、码率和速度是最为关心指标。x264是非常优秀的软件编码器,但是其编码速度适应不了产品对实时编码的要求,nvenc是英伟达在其GPU中内嵌的视频编码器,编码的速度在GTX1070ti上实际测试可以达到4K@60fps的要求。但是在实验过程和网上找资料过程都反应nvenc编码出来的质量较差,但是市面上都没有找到明显的衡量差距的具体数据,因此在工作过程中...

2018-10-11 11:10:41 10740

原创 FFmpeg RTMP推HEVC/H265流

    直播流媒体协议中,HLS和RTMP协议是两大主流协议。而众所周知的原因,RTMP在许多年前就已经停止拓展和更新,因此标准一直无法支持HEVC的编码格式。目前国内的CDN还有金山云等已经对RTMP进行了标准扩展,播放器上ijkplayer也扩展了该修改。    具体FFmpeg的修改代码如下:From e40fcb1113cb1c93c48b8ef74b8aec6437f23d84...

2018-08-15 14:31:21 22759 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 3368

原创 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 6199

原创 Adreno Profiler分析高通GPU上Shader性能

    前面的文章有所过在Mali的GPU上采用DS-5 Streamline分析Shader在Mali T860上的执行性能。现在遇到一个问题在高通GPU上GLSL 从ES2.0升级到ES3.0以后就出现Shader性能的明显下降。在高通GPU上选择Adreno Profiler作为性能分析工具。环境配置:    下载地址:https://developer.qualcomm.com/s...

2018-07-23 10:35:45 4354 2

原创 DS-5 Streamline分析GPU执行性能

    DS-5 Streamline是ARM提供的一个强大的图形化性能分析和抓取工具,其不仅可以用来做CPU的运行时性能分析,最主要的是还可以用来做Mali系列的GPU分析。甚至可以做基本上是Mali上面最强大的GPU性能分析工具。环境搭建    要想使用Streamline抓取性能必须配置kernel和配置gator。gator是运行在目标机器上的抓取代理,可以以ko的方式运行在内核空...

2018-07-19 10:56:02 4174 6

原创 Malisc进行Shader优化

   Malisc 是ARM提供的offline Shader编译器,可以方便的使用它验证自己Shader代码的语法和性能。Malisc并且可以给出其在不同的Mali GPU上的指令执行数量以及所需要的Circle数。可以从ARM的官方Graphics Development Tool中下载到。   以下是采用Malisc和Mgd分析系统GPU计算性能瓶颈的记录:   1. 采用Mgd抓取...

2018-07-09 00:16:19 2089

原创 Mali Midgard架构解析

      Mali-T800系列GPU采用Midgard架构,如上图所示,其中Shader Core负责执行所有的类型的计算操作,在T800的系类中最高可以拓展的16个SC。RK3399芯片包括4个SC因此简写T864。所有的计算请求被放入到请求队列中,按类型分为Vertex Queue和Fragment Queue(例如图像超分计算为Fragment),负载均衡器负责分发任务到对应的S...

2018-07-05 16:23:41 2575

翻译 FLOPS理解

    在描述GPU的性能的时候,我们常常用到FLOPS进行描述。FLOPS是Floating-point Operations Per Second的简写,即每秒所能够进行的浮点运算数目。在以往形容GPU的运算性能的时候也常常用到其他单位,比如Triangles Per Second每秒所能够渲染的三角型数目,以及Pixels Per Second 每秒所能够渲染的像素个数等等。然而我们为什么会...

2018-07-01 20:31:07 11169

原创 FFmpeg添加x265/hevc编码器支持

    FFmpeg添加了对流行hevc编码器x265的支持极大的方便了编解码场景的融合应用。以下记录说明在windows下编译带libx265编码器的FFmpeg。环境     Windows7 + VisualStudio2015FFmpeg编译环境搭建    请参考我的博文Windows下编译FFmpegX265编译    请参考我的博文Windows下编译x265libx265环境配置  ...

2018-06-20 23:14:37 11214 2

原创 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 3165

原创 GStreamer字幕解码模块实现

  GStreamer是一个灵活、快速的特别适合作为音视频开发的框架。其Pipeline和插件等设计思想使其特别适合快速组装出一个复杂的多媒体应用。  然而,近一年用GStreamer以来发现其对字幕的支持特别有限,表现在一下方面,既有情况:    1. 字幕的解码器缺乏,如缺少pgs、xsub等图形字幕的独立解码模块支持    2. 其基于sink端字幕subtitle overlay于vide...

2018-06-19 21:53:31 1744

原创 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 5078 1

原创 Windows下编译FFmpeg

在windows下编译FFmpeg较linux下要复杂许多,网上各种资料,自己编译的时候也踩过不少坑。环境:windows7 64bit,VS2015,FFmpeg版本commit b41b6b323417ce1e79bf818f91d60526697954f1Author: Danil Iashchenko <[email protected]>Date:   Fri Ju...

2018-06-18 20:46:59 1876

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除