H265ffmpeg改进开发

1. Introduction

KSC265是集编码、解码于一体的H.265编解码软件,完全遵循H.265协议标准。符合H.265编码规范的视频都可以通过KSC265进行解码,通过KSC265编码的视频都可以通过遵循H.265协议标准的解码器进行解码。KSC265无任何开源代码依赖,完全自主知识产权,专业的算法团队,在底层架构,汇编指令,算法优化方面持续进行优化,不断迭代,压缩率、编解码效率全面超越x265和openhevc。

  • 在2016.8, 编码器V2.1版本,参加世界编码器大赛,综合评价结果中排名软件编码器第一。
  • 2016.12, 编码器V2.4版本,在世界编码器大赛的4K编码赛事中,取得了压缩效率最优的成绩。是中国商用H.265视频编解码软件获取的最高国际荣誉。

本github主要交流KSC265在直播领域的应用使用,内容包括rtmp直播推流支持H.265编码,FFmpeg FLV针对H.265进行的扩展规范和相关patch。

参考:https://github.com/CDN-Union/H265

2. FFmpeg 扩展

2.1 Code

目录Code/FFmpeg下已经将patch达到了origin/release/3.2等branch上。

当前已经支持的release分支包括:

  • 2.8
  • 3.0
  • 3.1
  • 3.2
  • 3.3

patch位于Code/flv265patch_from_kingsoft.7z压缩包内。

patch涉及的改动包括:

  • libavform/flv.h
  • libavform/flvenc.c
  • libavform/flvdec.c

2.2 Document

针对FFmpeg flv的扩展,请见

https://github.com/CDN-Union/H265/tree/master/Document

3. KSC265功能

  • KSC265旨在通过技术优势转换成持续的成本优势,在有限的带宽下享受更高的画质,近一半的带宽下,相同的观看体验。
  • 在编码方面,可配置7个编码速度级别,对应不同的编码场景。
  • 编解码支持x86,x64,ARM32/64位架构,以及上面上主流操作系统。
  • KSC265真正实现低码率高画质,在各种环境下,均实现相同画质下30%-50%的码率节省。尤其在移动端编码上拥有重大突破,为移动直播的H.265的落地扫清了技术障碍。
  • 解码完备性强,在丢帧及多种网络丢包情况下仍然能成功解码播放,解码速度比openHEVC具有碾压性优势。

3.1 应用场景说明

3.2 体验与试用

KSC265 Demo体验

  • iOS Demo

https://github.com/ksvc/ks265codec/tree/master/iOS_demo

  • Android Demo

https://github.com/ksvc/ks265codec/tree/master/Android_demo

H265与ffmpeg改进开发的更多相关文章

  1. FFmpeg扩展开发

    FFmpeg扩展开发 对FFmpeg RTMP/FLV部分做了扩展,用于支持H.265. 针对<video_file_format_spec_v10_1> VIDEODATA部分扩展如下: ...

  2. FFMPEG SDK 开发介绍(原创)

    来源:http://blog.sina.com.cn/s/blog_62a8419a01016exv.html 本文是作者在使用ffmpeg sdk开发过程中的实际经验,现在与大家分享,欢迎学习交流. ...

  3. 【视频开发】ONVIF、RTSP/RTP、FFMPEG的开发实录

    ONVIF.RTSP/RTP.FFMPEG的开发实录 前言 本文从零基础一步步实现ONVIF协议.RTSP/RTP协议获取IPC实时视频流.FFMPEG解码.开发环境为WIN7 32位 + VS201 ...

  4. Windows下搭建ffmpeg+VS2008开发环境详细教程【转】

    本文转载自:http://www.voidcn.com/article/p-vxdntdgc-bkq.html 由于个人是从事音视频开发相关的工作,所以也把自己的一些过程写下来,方便大家以及自己查看, ...

  5. Qt与FFmpeg联合开发指南(二)——解码(2):封装和界面设计

    与解码相关的主要代码在上一篇博客中已经做了介绍,本篇我们会先讨论一下如何控制解码速度再提供一个我个人的封装思路.最后回归到界面设计环节重点看一下如何保证播放器界面在缩放和拖动的过程中保证视频画面的宽高 ...

  6. Qt与FFmpeg联合开发指南(三)——编码(1):代码流程演示

    前两讲演示了基本的解码流程和简单功能封装,今天我们开始学习编码.编码就是封装音视频流的过程,在整个编码教程中,我会首先在一个函数中演示完成的编码流程,再解释其中存在的问题.下一讲我们会将编码功能进行封 ...

  7. (原)ffmpeg过滤器开发和理解

    最近学习了ffmpeg关于filter过滤器的开发,关于中间的几个相关概念,我们先放在简单介绍一下: AVFilterGraph:几乎完全等同与directShow中的fitlerGraph,代表一串 ...

  8. Qt与FFmpeg联合开发指南(四)——编码(2):完善功能和基础封装

    上一章我用一个demo函数演示了基于Qt的音视频采集到编码的完整流程,最后经过测试我们也发现了代码中存在的问题.本章我们就先处理几个遗留问题,再对代码进行完善,最后把编码功能做基础封装. 一.遗留问题 ...

  9. Qt与FFmpeg联合开发指南(一)——解码(1):功能实现

    前言:对于从未接触过音视频编解码的同学来说,使用FFmpeg的学习曲线恐怕略显陡峭.本人由于工作需要,正好需要在项目中使用.因此特地将开发过程总结下来.只当提供给有兴趣的同学参考和学习. 由于FFmp ...

随机推荐

  1. hdu4791水题

    题意:       打印东西,给你区间和每个区间的价格,然后输入任务张数,输出最少花费..    题解:       昨晚的小测试就有这个题目,当时蒙B了,怎么也读不懂题目,一直纠结怎么把150拆成1 ...

  2. Python中的时间日期模块(time、datetime)

    目录 Datetime 获取当前时间 获取当前日期 获取当前时间的tuple元组 格式化日期和时间 时间移动 获取两个时间的时间差 时间格式转换 Time 获取距元年(1970.1.1)的秒数 当时时 ...

  3. WindowsPE 第七章 资源表

    资源表 在程序设计中,总会设计一些数据.这些数据可能是源代码内部需要用到的常量,菜单选项.界面描述等:也可能是源代码外部的,比如程序的图标文件.北京音乐文件.配置文件等,以上这些数据统称为资源.按照程 ...

  4. 解决Failed to execute goal se.eris:notnull-instrumenter-maven-plugin:0.6.8

    https://blog.csdn.net/fanrenxiang/article/details/80864908 github拉起来的项目,jdk是11,而我电脑上的jdk是1.8.原因是jdk版 ...

  5. Pytest自动化测试-简易入门教程(01)

    我们今天主讲的内容,就是测试框架Pytest,讲到这个测试框架对于没有做过Web自动化的伙伴来说,会觉得这个东西是陌生的,那么到底什么是框架呢?什么又是自动化呢?自动化为什么又要用框架呢? 难道我学自 ...

  6. 一文弄懂pytorch搭建网络流程+多分类评价指标

    讲在前面,本来想通过一个简单的多层感知机实验一下不同的优化方法的,结果写着写着就先研究起评价指标来了,之前也写过一篇:https://www.cnblogs.com/xiximayou/p/13700 ...

  7. Keycloak 13 自定义用户身份认证流程(User Storage SPI)

    Keycloak 版本:13.0.0 介绍 Keycloak 是为现代应用程序和服务提供的一个开源的身份和访问管理的解决方案. Keycloak 在测试环境可以使用内嵌数据库,生产环境需要重新配置数据 ...

  8. 【Matlab】BASK的调试与解调仿真

    索引 一.BASK的调制 1.1 曼彻斯特码 1.2 增益控制 1.3 常量求和 1.4 与载波相乘 1.5 波形预览 1.6 参数设置(参考) 二.BASK的解调 2.1 滤波 2.2 信号比较 2 ...

  9. 算法转 Java 后端,2021秋招斩获腾讯、京东、百度等大厂 offer 面经分享!|JavaGuide|Guide哥

    这是一篇来自算法转Java后端的一位读者的投稿!文章主要分享了作者从迷茫崩溃到最终斩获腾讯.京东.百度等大厂 offer 的经历.文章内容很全面.真实,相信可以对正在准备面试的小伙伴有帮助! 看到公众 ...

  10. 浅尝js垃圾回收机制

    局部作用域内的变量,在函数执行结束之后就会被js的垃圾回收机制销毁   为什么要销毁局部变量? => 为了释放内存   js垃圾回收机制何时会销毁局部变量 : 如果局部变量无法再得到访问,就会被 ...