精华内容
下载资源
问答
  • H265

    千次阅读 2017-10-13 11:35:17
    H265 1、H265一个图像序列的组成:VPS+SPS+PPS+SEI+一个I帧+若干个P帧。VPS、SPS、PPS、SEI、一个I帧、一个P帧都可以称 为一个NALU。 2、H265的NALU结构:开始码+NALU头+NALU数据 (1)、开始码大小为四个字节...

    H265
    1、H265一个图像序列的组成:VPS+SPS+PPS+SEI+一个I帧+若干个P帧。VPS、SPS、PPS、SEI、一个I帧、一个P帧都可以称
    为一个NALU。
    2、H265的NALU结构:开始码+NALU头+NALU数据
    (1)、开始码大小为四个字节,是一个固定值00 00 00 01(十六进制),标识一个NALU的开始。
    (2)、NALU头大小为两个字节,共16位,第1位值为0,第2-7位为NALU的type位(共6位),标识当前NALU的类型
    ,第8-15位值为0,第16位值为1。
    (3)、NALU数据为编码器编出来的图像信息或图像数据。
    3、六种类型的NALU
    (1)、VPS(视频参数集):NALU头值为0x40 01(十六进制),NALU头type位值为32(十进制)。
    (2)、SPS(序列参数集):NALU头值为0x42 01(十六进制),NALU头type位值为33(十进制)。
    (3)、PPS(图像参数集):NALU头值为0x44 01(十六进制),NALU头type位值为34(十进制)。
    (4)、SEI(补充增强信息):NALU头值为0x4e 01(十六进制),NALU头type位值为39(十进制)。
    (5)、I帧:NALU头值为0x26 01(十六进制),NALU头type位值为19(十进制)。
    (6)、P帧:NALU头值为0x02 01(十六进制),NALU头type位值为1(十进制)。
    4、H265的NALU打包成RTP包的模式(下面是用到的两种模式)
    (1)、一个NALU打包成一个RTP包,只需要在一个12字节的RTP包头后添加去掉开始码的NALU即可
    (这种模式在一个NALU的大小小于MTU时使用)。
    (2)、一个NALU打包成几个RTP包(FUs模式),在12个字节的RTP头后面有两个字节的PayloadHdr和一个字节的FU
    header。PayloadHdr的值等于NALU头的type位改为49(十进制)后的值,FU header第1位标记RTP包是否为NALU的第一片,第2位标
    记RTP包是否为NALU的最后一片。后6位是NALU头的type位。

    SDP参考:
    一、h265的VPS/SPS/PPS

    与分辨率有关
    与帧率无关(与帧率是否有关主要看sps中某个字段的值,当前海思编出的sps中该字段值标识与帧率无关)
    与N/P制无关

    1、4M
    Payload: 40010c01ffff016000000300b00000030000030099aa0240
    Payload: 420101016000000300b00000030000030099a001402005a1636aa4932f90
    Payload: 4401c0f2f03c90

    2、4M_4x3
    Payload: 40010c01ffff016000000300b00000030000030099aa0240
    Payload: 420101016000000300b00000030000030099a001202006c1636aa4932f90
    Payload: 4401c0f2f03c90

    3、3M
    Payload: 40010c01ffff016000000300b00000030000030099aa0240
    Payload: 420101016000000300b00000030000030099a00100200601636aa4932f90
    Payload: 4401c0f2f03c90

    4、1080P
    Payload: 40010c01ffff016000000300b0000003000003007baa0240
    Payload: 420101016000000300b0000003000003007ba003c08010e58daa924cbe40
    Payload: 4401c0f2f03c90

    5、960P
    Payload: 40010c01ffff016000000300b0000003000003007baa0240
    Payload: 420101016000000300b0000003000003007ba00280803c1636aa4932f9
    Payload: 4401c0f2f03c90

    6、720P
    Payload: 40010c01ffff016000000300b0000003000003005daa0240
    Payload: 420101016000000300b0000003000003005da00280802d1636aa4932f9
    Payload: 4401c0f2f03c90

    7、D1
    Payload: 40010c01ffff016000000300b0000003000003005aaa0240
    Payload: 420101016000000300b0000003000003005aa00582009058daa924cbe4
    Payload: 4401c0f2f03c90

    8、CIF
    Payload: 40010c01ffff016000000300b0000003000003003caa0240
    Payload: 420101016000000300b0000003000003003ca00b0804858daa924cbe40
    Payload: 4401c0f2f03c90

    展开全文
  • H265官方使用文档说明,高质量视频编解码技术,改善生活质量。
  • H265解码,H264解码,硬解码,解码库,android H265解码,
  • 4K H265码流测试文件,可用于各种解码器测试。
  • h265编码的ps文件,可学习ps文件格式或测试gb28181用。
  • H265 1080P 测试文件

    2020-10-19 17:05:08
    H265 1080P 测试文件 H265 1080P 测试文件 H265 1080P 测试文件 H265 1080P 测试文件 H265 1080P 测试文件
  • h264_h265.rar

    2021-02-28 23:16:57
    h264和h265测试文件,可以用vlc播放,live555可用
  • Rtmp推流h264_h265

    2021-03-29 16:34:10
    h264 h265以MP4方式推流
  • h264 h265 rtp打包

    2018-10-26 16:38:43
    h264 h265 rtp 打包源码。添加rtp头 直接发送 。测试通过。
  • huaping.h265

    2021-08-31 14:16:04
    H265裸码流的视频文件
  • h264+h265.rar

    2020-01-10 13:57:15
    在调试视频编解码过程中,收集了一些h264和h265编码的视频文件,为了方便大家,分享给大家 h264编码文件:1920x1080, 720x576 h265编码文件:1920x1080, 720x576,480x272
  • h265 视频流在web端无法进行解码播放,如果在服务器端进行解码后将图片信息推给前端除了会给后端带来巨大的cpu压力同时会导致传输信息巨大产生延迟 本项目目的是在 web 端软解 h265 视频流并播放 一般web端使用视频...
  • H265标准文档,是学些HEVC必备的资料
  • h265 裸流文件

    2018-10-09 16:36:01
    h265裸流文件,h265视频,h265编解码 h265裸流文件,h265视频,h265编解码
  • H265parser

    2018-12-07 10:04:06
    H265裸流视频文件 帧类型解析,对Hevc裸流文件进行解析 是一个很好的学习案例资料
  • html5 h265播放器,PC端播放H265

    千次阅读 2021-06-17 12:56:52
    说明需要在PC端浏览器(Chrome)中播放直播视频,视频格式有H264/H265。有不少三方库可以实现。通过video.js(支持H264,不支持H265)videojs-contrib-hls embedVideo.js Example Embeddata-setup='{}'>参考地址:...

    说明

    需要在PC端浏览器(Chrome)中播放直播视频,视频格式有H264/H265。有不少三方库可以实现。

    通过video.js(支持H264,不支持H265)

    videojs-contrib-hls embed

    Video.js Example Embed

    data-setup='{}'>

    参考地址:

    通过hls.js(支持H264,不支持H265)

    pc play m3u8(hlsjs)

    video {

    width: 600px;

    height: auto;

    }

    pc play m3u8(hlsjs)

    var video = document.getElementById('video');

    var videoSrc = 'http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8';

    if (Hls.isSupported()) {

    var hls = new Hls();

    hls.loadSource(videoSrc);

    hls.attachMedia(video);

    hls.on(Hls.Events.MANIFEST_PARSED, function () {

    video.play();

    });

    }

    // hls.js is not supported on platforms that do not have Media Source

    // Extensions (MSE) enabled.

    //

    // When the browser has built-in HLS support (check using `canPlayType`),

    // we can provide an HLS manifest (i.e. .m3u8 URL) directly to the video

    // element through the `src` property. This is using the built-in support

    // of the plain video element, without using hls.js.

    //

    // Note: it would be more normal to wait on the 'canplay' event below however

    // on Safari (where you are most likely to find built-in HLS support) the

    // video.src URL must be on the user-driven white-list before a 'canplay'

    // event will be emitted; the last video event that can be reliably

    // listened-for when the URL is not on the white-list is 'loadedmetadata'.

    else if (video.canPlayType('application/vnd.apple.mpegurl')) {

    video.src = videoSrc;

    video.addEventListener('loadedmetadata', function () {

    video.play();

    });

    }

    参考地址:

    通过EasyWasmPlayer(支持H264,也支持H265)

    普通页面:

    EasyWasmPlayer

    H265播放器

    列如:http://127.0.0.1:8080/flv/hls/stream.flv

    在线演示

    注意:本实例需要以服务方式启动

    href="https://blog.csdn.net/weixin_43194037/article/details/108885134" target="_blank">搭建服务教程

    播放

    // 播放器回调函数

    callbackfun = function (e) {

    console.log(e);

    }

    // 播放按钮

    var btn = document.getElementById('btn');

    // 地址栏

    var value = document.getElementById('value');

    // 实例播放器

    var player = new WasmPlayer(null, 'newplay', callbackfun, {

    Height: true

    })

    //播放事件 传入地址播放

    btn.onclick = function () {

    player.play(value.value, 1);

    console.log(value.value);

    }

    define/require页面:define([

    "../lib/EasyWasmPlayer.js"

    ], function (EasyWasmPlayer) {

    var MainView = {

    // ...

    afterRender: function () {

    var that = this;

    // 播放器回调函数,播放、暂停、全屏等会回调

    var callbackfun = function (e) {

    console.log(e);

    };

    // 地址栏

    var value = document.getElementById('value');

    // 实例播放器,注意这里为EasyWasmPlayer,不是WasmPlayer

    var player = new EasyWasmPlayer(null, 'newplay', callbackfun, {

    Height: true

    });

    // 播放按钮

    var btn = document.getElementById('btn');

    //播放事件 传入地址播放

    btn.onclick = function () {

    player.play(value.value, 1);

    console.log(value.value);

    }

    },

    };

    // ...

    });

    注意:new WasmPlayer要改为new EasyWasmPlayer。

    地址用相对地址"../lib/EasyWasmPlayer.js",不用"xx/yy/zz/videoplay/lib/EasyWasmPlayer.js"

    参考:

    注意:要使得EasyPlayer支持h265格式,需要将文件发布到http服务器上,如nginx。将ccc.html,EasyWasmPlayer.js,libDecoder.wasm放入$NGINX_HOME/html下,然后配置:server {

    listen 7078;

    charset utf-8;

    proxy_connect_timeout 180;

    proxy_send_timeout 180;

    proxy_read_timeout 180;

    location / {

    root html;

    index ccc.html;

    }

    }

    root html 表示根目录为$NGINX_HOME/html

    index ccc.html; 表示默认访问页为:ccc.html

    采用EasyPlayer播放H265中遇到的问题(H264无问题)

    tomcat部署,播放H265

    将ccc.html,EasyWasmPlayer.js,libDecoder.wasm三个文件放入$TOMCAT_HOME/webapps/examples下,然后http://localhost:8080/examples/ccc.html访问,播放H265视频,报错:Uncaught (in promise) RuntimeError: abort(CompileError: WebAssembly.instantiate(): expected magic word 00 61 73 6d, found 3c 68 74 6d @+0) at Error

    at WA (blob:http://localhost:8080/92fa365d-2fd3-4882-931c-bb6d344138aa:1:15306)

    at PA (blob:http://localhost:8080/92fa365d-2fd3-4882-931c-bb6d344138aa:1:15458)

    at FA (blob:http://localhost:8080/92fa365d-2fd3-4882-931c-bb6d344138aa:1:13489)

    at blob:http://localhost:8080/92fa365d-2fd3-4882-931c-bb6d344138aa:1:14589

    at FA (blob:http://localhost:8080/92fa365d-2fd3-4882-931c-bb6d344138aa:1:13494)

    at blob:http://localhost:8080/92fa365d-2fd3-4882-931c-bb6d344138aa:1:14589

    将文件部署到nginx的html下,问题解决。但为何在tomcat上报错呢?

    分析

    tomcat部署时出现CompileError: WebAssembly.instantiate(): expected magic word 00 61 73 6d, found 3c 68 74 6d @+0)的原因,通过浏览器Network查看,发现libDecoder.wasm 404错误,说明是未找到libDecoder.wasm导致。

    通过nginx将/libDecoder.wasm重定向后,问题可解决。如:location /libDecoder.wasm {

    proxy_pass http://xxxx/lib/libDecoder.wasm;

    proxy_set_header Host $host:$server_port;

    proxy_set_header X-Real-Ip $remote_addr;

    }

    这里xxxx/lib/用实际地址。

    或者修改EasyWasmPlayer.js中libDecoder.wasm的路径。EasyWasmPlayer.js中搜索'libDecoder.wasm',改为:GA=T+"xxx/yyy/libDecoder.wasm";

    这里xxx/yyy以实际地址替换。

    如果通过springboot启动,可能不会报404错误,只报CompileError: WebAssembly.instantiate():。同样方式解决。

    WasmPlayer is not defined

    将文件EasyWasmPlayer.js,libDecoder.wasm拷贝到指定目录下。播放,报错:Uncaught ReferenceError: WasmPlayer is not defined

    new WasmPlayer改为new EasyWasmPlayer即可。这里EasyWasmPlayer为文件头部define语句对应的实例。

    要解决这个问题,也可以通过另一种变通的方法(不建议):

    因为提示not defined,表示.js文件引的有问题或者用的时候上下文有问题。而不在前端框架中使用时,一点问题没有。

    通过查看网页html,发现EasyWasmPlayer.js的引入语句为:

    而不是:

    在html中,找一个无关紧要的

    我们通过nginx,将该文件的引用替换为EasyWasmPlayer.js的引入。location /portal/frm/portal/system.min.js {

    proxy_pass http://localhost:7072/portal/xxx/yyy/videoplay/lib/EasyWasmPlayer.js;

    proxy_set_header Host $host:$server_port;

    proxy_set_header X-Real-Ip $remote_addr;

    }

    重启nginx后,问题解决。

    EasyPlayer的其它说明libDecoder.wasm文件需要,且路径能访问到

    EasyWasmPlayer.js不用放在根目录,能成功引入就行

    展开全文
  • h264&h265官方文档
  • 1080P.h265

    2020-07-03 14:17:03
    h265裸流,1080p,使用。
  • H264/H265规范

    2016-01-03 19:19:13
    H264/H265规范. zip
  • outputtest.h265

    2021-08-31 14:18:49
    H265裸码流视频文件
  • H264和H265简介及两者间的差距对比,编解码流程梳理及讲解
  • 导H264、H265流插件.zip

    2019-09-30 17:15:58
    从wireshark抓的RTP包中导出H264、H265的裸流,共两个插件,分别为h264.lua和h265.lua
  • h265分析工具

    2019-04-03 20:18:45
    h265分析工具 绿色精简便携 帧类型一目了然 是视频分析的好助手
  • 视频H265编码.pdf

    2021-02-09 23:55:39
    视频H265编码
  • H.265裸流文件,用于编解码、测试、对比。 1、文件格式:start_code(4字节) + nal_header(2字节) + payload_data 2、文件格式:00 00 00 01 + 04 01 + 0C 01 FF ...1、linux cooked capture + IPv4 + UDP + RTP + H265
  • h265测试视频

    2017-04-25 09:29:26
    H265高清测试视频 HEVC
  • 开源一个H.265码流解析器h265bitstream

    万次阅读 2021-04-27 22:31:17
    本项目参考h264bitstream(https://github.com/aizvorski/h264bitstream)开发了一个H.265的码流解析器h265bitstream。该解析器能够解析H.265码流的VPS、SPS、...通过命令行执行的命令格式为:h265bitstreamVS.exe <

    本项目参考h264bitstream(https://github.com/aizvorski/h264bitstream)开发了一个H.265的码流解析器h265bitstream。该解析器能够解析H.265码流的VPS、SPS、PPS、slice header等NALU。项目地址为https://github.com/Dillon14281118/h265bitstream

    该项目使用VS 2019开发,直接编译即可使用。

    通过命令行执行的命令格式为:h265bitstreamVS.exe <H.265 input bitstream>

    下图是一个H.265码流解析后的部分结果的截图。

    h265bitstream码流解析器是开源项目,可用于日常学习和研究,欢迎大家下载使用,使用中有任何问题也欢迎交流。

    项目地址:https://github.com/Dillon14281118/h265bitstream

    感兴趣的请关注微信公众号Video Coding

    展开全文
  • H264与H265的区别.docx

    2019-11-18 09:55:21
    H264与H265的编码流程、块划分、帧内预测、帧间预测的区别,H264的划分是宏块,H265的划分是CU
  • h265测试文件.zip

    2020-01-21 17:52:32
    本压缩文件包含了两个h265的mp4文件,一个h265的裸流文件,对于测试h265是一些比较好的资源,欢迎取走
  • 通过RTMP播放H265,H264控件,最多支持十六路窗口,接口丰富。VC,VB,网页,.net都能调用

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 42,739
精华内容 17,095
关键字:

h265