了解网络视频H.264的播放

通过EasyPlayer在浏览器中实现H.264视频流播放 阅读详情

H.264  流

视频捕捉得到的图片压缩为H264流媒体,其包含很多 NAL Units

An H.264/MPEG-4 AVC-compliant bitstream consists of a sequence of Network Abstract Layer Units (NAL Units or NALUs). Examples of NALUs are Sequence Parameter Set (SPS), Picture Parameter Set (PPS), Supplemental Enhancement Information (SEI), and slice. The SPS and PPS NALUs contain information for the correct decoding of a sequence of pictures. A SEI nalu contains information that is not needed by the decoding process; it can be seen as embedded metadata. Pictures consist of one or more slices. Each slice contains a slice header and slice data.


SPS, PPS 说明视频信息的 NALu, 解码器要知道这些才能正确解码, 而每一个 Slice 是也一个 NALu


Slice

什么是 Slice是? 看下面的图就知道了,一个图片可能由多个 Slices 组成, H.264比 MPEG2支持更细的 slice




H.264的个帧可能有依赖关系,比如前后两帧,只有辆小"汽车”移动了一点,那个后一帧可只用一个size很小的slice 更新汽车移动的那一小片区域

如果后帧相对前帧有两个区域发生变化,那么需要用两个 slices才能更新当前画面


IDR

还有一种叫 IDR 的 NALu, 叫 i slice  要求完全重画帧,并且此 IDR 之前的帧都无效。这是因为用户要做 seek, 如果解码中后续帧依赖整个视频的第一帧,那们必须要从头计算才能生成当前的画面,这是不可能,所以IDR是频繁穿插在视频流的。

An IDR frame is a special type of I-frame in H.264. An IDR frame specifies that no frame after the IDR frame can reference any frame before it. This makes seeking the H.264 file easier and more responsive in the player.

不考略idr,得到的图片可能如下:



HTTP 网络视频播放

现在有了NALu, 可以直接用 Http 协议把 Http server 上的视频mp4文件,传输客户端的 MediaPlayer中,(在browser能播放是因为浏览器调用了MediaPlayer), 原理如下:

mp4 文件是一种包裹视频流的box, 其头部有 sample table (就是索引信息,内容是时间到文件位置的映射 ) 

一般 Media Player 会缓冲索引文件,当用户 seek的时候,从索引文件中找到时间对应文件位置,而后用 http 协议访问,比如下面访问 mp4 文件位置 2556

http://pdl.googletv.cnbc.com/VCPS/Y2013/M09D12/3000198565/5ED2-KR-FBlock0912_H264_720x405_30p_1M.mp4 @2556

而后再读取 IDR重构画面

在播放过程中,不断 fetch 后续位置的数据,直到缓冲上限


ref:

http://multimedialab.elis.ugent.be/BFlavor/samples.html

http://www.tvro.com.tw/main5/maimtxt/H.264%E5%A0%B1%E5%B0%8E%EF%BC%8D%E5%B7%A5%E7%A0%94%E9%99%A2.htm

H.264和H.265(HEVC)深度解析及对比 H.265是ITU-TVCEG继H.264之后所制定的新的视频编码标准。H.265标准围绕着现有的视频编码标准H.264,保留原来的某些技术,同时对一些相关的技术加以改进。新技术使用先进的技术用以改善码流、编码质量、延时和算法复杂度之间的关系,达到最优化设置。具体的研究内容包括:提高压缩效率、提高鲁棒性和错误恢复能力、减少实时的时延、减少信道获取时间和随机接入时延、降低复杂度等。H264由于算法优化,可以低于1Mbps的速度实现标清数字图像传送;H265则可以实现利用1~2Mbps的传输速度传送720P(分 阅读详情

相关推荐

DVRPlay:高效H.264视频播放与监控解决方案

DVRPlay是一款广泛应用于安防监控领域的专业视频播放软件,它为用户提供了一个高效、稳定且功能丰富的视频回放平台。从基础的视频文件播放到高级的视频分析和管理,DVRPlay都是监控技术专家不可或缺的工具。H.264编码技术,也称为MPEG-4 AVC(Advanced Video Coding),是视频编码标准MPEG-4的一部分,由国际电信联盟(ITU-T)的视频编码专家组(VCEG)和国际标准化组织/国际电工委员会(ISO/IEC)的活动图像编码专家组(MPEG)联合开发。

weixin_30336531的博客 1048

Android如何播放h.264格式视频

关于h.264格式的视频文件播放,我们可以通过android.media.MediaCodec这个接口去解码实现,这个对搞流媒体,安防实时视频传输的朋友应该很熟悉,这边只是个demo,有需要的同学自行下载源码研究吧!效果图如下:关键代码如下:package com.asir.h264demo;import android.annotation.TargetApi; import android.ap

啊sir的专栏 1万+

H.264视频编码与播放器实现详解

H.264编码技术,又称作MPEG-4 AVC(Advanced Video Coding),是一种广泛应用于视频压缩的国际标准。它由ITU-T的VCEG和ISO/IEC的MPEG联合开发,旨在以较低的码率实现高质量的视频压缩。H.264技术之所以受到青睐,在于它提供了显著更高的数据压缩率和视频质量,相比前代标准如MPEG-2、H.263等,能以更低的带宽传送高清视频内容。H.264的成功源于其高效的压缩算法和多样的应用适应性,支持从低码率的移动视频通信到高质量的广播级电视内容。

weixin_35459464的博客 546

视频因为264问题无法网页播放,解决方案之一:转化视频【好用的FFmpeg 使用说明】

如果你希望 ​​在任何文件夹下都能直接输入 ffmpeg命令运行​​(就像输入 notepad打开记事本那样方便),你需要把 FFmpeg 的 bin目录添加到 Windows 的系统环境变量 PATH中。推荐使用 ​​Windows Terminal​​ 或 ​​PowerShell​​,界面更友好,支持多标签、更好的字体和颜色。4.在 ​​“系统变量”​​ 列表中找到 Path,选中它,然后点击 ​​“编辑”​​;•​​Windows Terminal(推荐,功能更强大)​​。

u013484186的专栏 1912

监控DVR视频H.264播放与AVI转换工具实战应用

H.264作为当前主流的视频压缩标准,在安防监控领域广泛应用。本章将深入解析H.264编码的技术背景、帧结构组成以及其在DVR(数字视频录像机)系统中的实际应用形态。重点剖析监控场景下H.264流的特点,如I/P/B帧分布、NAL单元封装方式、时间戳同步机制等,并探讨原始.h264裸流与常见封装格式(如AVI、MP4)之间的本质区别。// 示例:H.264 NAL单元起始模式监控设备生成的.h264文件通常为无封装的裸流,缺失时间元数据和索引信息,导致通用播放器无法识别。

weixin_35794316的博客 899

H264视频分析播放工具

支持H264视频的播放已经视频帧数的分析,和具体数据的查看,win7 64位测试可以使用

国标播放器-----国内最好的网页视频播放器(H.264,H.265播放器)

5: 采用原生窗口进行播放渲染, 所以支持网页16路同时播放、动态切换播放源、支持回放、字幕、水印、录像及抓图,尤其是高分辨率视频或大屏播放体验好.1: 支持网页直接播放H.264, H.265的视频格式, 不需要服务端 转码, 不占用服务端转码资源, 可以直接从流媒体平台或者摄像机取流播放.3: 支持 PS,ES 等各种码流格式的摄像机, 包括主流的海康威视、大华、华为等各厂家的摄像头,同时兼容世面上所有小厂家的国标协议摄像机,

weixin_41268109的博客 1625

H264播放工具

H264播放工具,播放264码流,比较好用的工具,值得下载。

监控264后缀文件播放

文章目录问题解决 问题 将录像文件从监控设备上下载下来,发现是xxx.264格式 于是尝试了暴风影音,迅雷,milkplay,psplay等等一大堆软件,说是兼容所有格式,但是都报格式错误 我笑了,原来吹牛p真的很重要,知名度那么高名不副实 最后用其他软件解决了 解决 百度-“万能解码”,将264文件拖入即可播放 或者下载我的网盘文件: 链接:https://pan.baidu.com/s/1HUcTb-wj7J4K-j8gxLJ26A 提取码:1234 ...

lidashent的博客 4994

网络接收H264视频数据并通过FFmpeg实时播放视频

client和server通过WiFi连接。传输视频数据必须为H264视频数据。 Client文件夹下包含无线网络发送H264视频帧信息。 Server包含无线网络接收H264视频帧信息。 FFmpegAndroid-master包含无线网接收H264视频数据,将数据以队列的时候接收下来,每个队列节点是10K,接收并实时通过FFmpeg解析,再画图播放,同时包含日志调试部分,将日志以文件的形式保存在设备内,USB部分需要网上查资料调试,目前USB也通了。

H.264播放器

从监控下载的视频、摄像头拍到的视频,只要是H.264编码的都可以直接播放

视频编码 H.264 vs H.265,有什么不同(内容比较全,建议收藏)

H.264和H.265:它们是什么?哪一个更好?在相机录制格式中,我们经常会遇到H.264和H.265。但它们到底是什么意思?一些人认为H.264更通用、更优越。其他人则声称,与H.264相比,H.265提供了更先进的编码,允许更长的视频、更小的存储要求和更好的图像质量。到目前为止,您可能对H.264与H.265有各种疑问。在这篇文章中,我们的目的是阐明这两种视频编码格式之间的差异,所以让我们深入...

8626

Qt基于FFmpeg播放本地 H.264(H264)文件

详见我的博客:http://blog.csdn.net/caoshangpa/article/details/51953208

H.265编码和H.264编码的区别

目前很多摄像机采用了H.265的编码标准,H.264编码的摄像机逐渐减少,为什么H.265会流行?H.264和H.265有何不同? 一、什么是H.265 H.265是ITU-TVCEG继H.264之后所制定的新的视频编码标准。H.265标准围绕着现有的视频编码标准H.264,保留原来的某些技术,同时对一些相关的技术加以改进。 新技术使用先进的技术用以改善码流、编码质量、延时和算法复杂度之间的...

hanzhen7541的博客 4万+

cadence数模混合仿真反标sdf

数模混合IC设计时经常要调用一些Verilog模块(最简单的例如SPI接口),在前仿时一般直接用rtl代码来仿真,但是后仿时要关注因寄生带来的延迟,避免这些额外的延迟导致时序错误,因此不能简单地采用RTL来仿真。 一般有两种办法:1是采用由RTL综合得到的门级电路来仿真,这种方法比较简单,但是缺点是规模较大,而且只包括门延迟不包括因版图导致的线延迟;如果想要仿真更精细,就要对该这部分门电路提取寄生参数; 另一种方式是利用sdf文件(standard delay format)来进行仿真。后端工具在布局布

长河柱天的博客 7273

解决UNITE数据库注释高unassigned率:手把手教你训练专属真菌分类器(含预训练模型分享)

本文针对使用UNITE数据库进行真菌ITS序列注释时出现的高未分配率问题,提供了详细的实战解决方案。通过对比vsearch直接注释与Naive Bayes分类器的原理差异,文章手把手指导读者在QIIME 2环境中训练专属分类器,包括数据准备、模型训练、参数优化及效果验证,并分享了预训练模型,旨在显著提升真菌群落分析的注释准确性和数据利用率。

weixin_29214199的博客 338

让Chromium支持H.264视频

Chromium是Google浏览器Chrome的开源版本,但是这两个浏览器在feature上有一些细微的差别,比如在HTML5媒体格式的支持种类上Chromium要少于Chrome。说到HTML5,与HTML4相比最有意义的改进之一就是新增了video tag,可以在网页上直接播放视频而不需要安装插件,至于HTML5 video tag支持哪些种类的视频格式取决于浏览器,目前各家浏览器支持的HT......

tugouxp的专栏 1万+

视频倍速 - 在线调倍速的加速器APP工具

一刀工具箱APP提供一键可将手机上的视频倍速播放,可以调整视频倍速的加速器,调节视频的速度也就是调节视频的播放速度!一键可将手机上的视频倍速播放,可以调整视频倍速的加速器,调节视频的速度也就是调节视频的播放速度!视频倍速-在线调倍速的加速器-一刀工具箱APP。...

无涯教程 7553

H.264视频编码基本知识

一、视频编码技术的发展历程    视频编码技术基本是由ISO/IEC制定的MPEG-x和ITU-T制定的H.26x两大系列视频编码国际标准的推出。从H.261视频编码建议,到 H.262/3、MPEG-1/2/4等都有一个共同的不断追求的目标,即在尽可能低的码率(或存储容量)下获得尽可能好的图像质量。而且,随着市场对图像传输需求的增加,如何适应不同信道传输特性的问题也日益显现出来。于是IEO/IEC和ITU-T两大国际标准化组织联手制定了视频新标准H.264来 解决这些问题。 H.261是最早出现的...

FPGA/MATLAB学习教程/源码/项目合作开发 8250

DBeaver连接IoTDB避坑指南:手动配置JDBC驱动的完整流程(附问题排查)

本文提供了在DBeaver中手动配置Apache IoTDB JDBC驱动的完整流程与避坑指南。详细解析了从驱动创建、库文件添加(关键是指向整个lib目录)到连接测试的每一步,并重点针对常见的ClassNotFoundException、连接拒绝等错误提供了深度排查方案,帮助用户高效建立图形化管理连接。

weixin_28327051的博客 393

实测对比:纳芯微NSD1624在光伏逆变器中的性能表现(含温度测试数据)

本文详细评测了纳芯微NSD1624非隔离驱动芯片在光伏逆变器中的性能表现,包括动态效率、高温稳定性及抗干扰能力。实测数据显示,该芯片在800V母线电压下效率峰值达99.03%,高温环境下结温稳定在102.7℃,且传播延迟一致性优异。与竞品相比,NSD1624在总损耗和热阻方面具有显著优势,是光伏逆变器驱动方案的理想选择。

weixin_29297127的博客 362

播放器无法播放生成视频?检查H.264编码与MP4封装

AI生成的视频常因编码和封装问题导致播放失败。H.264凭借广泛硬件支持成为最稳妥的视频编码选择,配合MP4容器及Fast Start优化,可实现跨设备兼容与秒开播放。通过规范编码参数、音频格式与moov原子位置,能有效避免用户端播放异常。

weixin_35433448的博客 1458

OpenGL ES 3.0 从入门到精通系统性学习教程

因为在工作中频繁使用 OpenGL ES 做一些特效、滤镜之类的效果,加上平时学到的的知识点也比较细碎,就想着去系统地学习下 OpenGL ES 相关开发知识,并将学习过程记录下来。

字节流动 3万+

H.264视频编码

一般就是编码块的左边、上边、左上角和右上角的宏块,再用编码块减去每一个预测块得到一个个的残差块,计算每个残差块中所有像素值的绝对值之和,将绝对值之和最小的残差块以及对应的预测块进行存储。在编码过程中就可以将当前图像中的块与参考图像运动矢量所指向的最相似的图像块相减,得到一个残差图像块。预测块所在的已经编码的图像称为参考帧,预测块在参考帧中的坐标值与编码块在编码帧中的坐标值的差值称为运动矢量。高频信息主要表示的是图像中人物或物体的轮廓边缘等变化剧烈的地方,高频信息的数量多,但高频信息的值一般比较小。

weixin_44937724的博客 1386

从0到1带大家搭建spring cloud alibaba 微服务大型应用框架(十一)spring-boot-admin 监控篇(2)springcloud 集成spring boot admin

从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(十一)spring-boot-admin 监控篇(2)springcloud 集成spring boot admin spring-boot-admin 服务端创建与集成入nacos spring-boot-admin 查看日志

峡谷电光马仔的博客 1378

S7-200SMART通过表格指令实现模拟量信号滑动平均值滤波的具体方法

S7-200SMART通过表格指令实现模拟量信号滑动平均值滤波的具体方法

Robot_PLC_HMI_Automation 6723
上一篇: so库的static 变量深入了解
下一篇: 了解实时媒体的播放(RTP/RTCP 和 RTSP)
span76
博客等级 码龄18年 117粉丝 174原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值