艾瑞巴蒂大家好,我二狗子又来啦!这段时间关于疫情的好消息不断,各个地区的疫情都得到了有效的控制,做到了新增病例个位数增长甚至连续多天零增长!这不,二狗子也终于可以出村回到大城市上班啦!由于要坐很久的火车,二狗子不光备好了口罩和手套,申请好了绿码,也下载了自己最爱的电视剧《回家的诱惑》准备消磨时间,温习一下“品如的衣柜”。想到能和洪世贤度过这漫长的几个小时,二狗子已经迫不及待了!

上了火车找好位置,二狗子急急忙忙地打开电脑,双击了下载的 MP4 视频,结果播放却出现了问题。所有的视频都只听得到声音却看不到画面,这可把二狗子气坏啦。

到了终点站,二狗子气冲冲地下了火车坐上地铁,在地铁工作人员检查绿码的时候也没有好脸色 —— 所幸因为带了口罩并没有影响到别人。回到家,二狗子立刻开始检查为什么看不到画面的原因。经过搜索排查基本可以确认是视频的编码格式问题,也就是浏览器不支持这个格式。为了解决这个问题首先需要了解一下什么是视频编码。

什么是视频编码?

视频编码是指压缩和改变视频内容格式的一个有损的过程目标是减少占用空间。在压缩过程中会抛弃与视频相关的信息,而在解压缩以进行回放时会创建原始的近似值。压缩越多,抛出的数据越多,近似值与原始数据相比越差。

如何查看视频编码?

当前市面上有非常多的软件可以查看视频编码,二狗子要给大家推荐的是名叫 FFmpeg的一款软件。使用方法非常简单,完成安装后,只需要输入命令ffmpeg -i test.mp4,即可获得视频的各类信息。

其中视频编码格式查看的是 Stream(Video) 字段。

当前互联网上的大部分视频播放器或者浏览器都支持的编码是 H.264、H.265 或者VP9 等,如果一个视频需要正常播放比较建议大家将视频转码为以上三类。

有些同学可能会问:“这些编码格式有什么区别呢?”接下来二狗子给大家做个详细对比

H.264、H.265 和 VP9

H.264 vs H.265

先来说说 H.264 ,它是一种视频压缩标准,因其是蓝光光盘的一种编解码标准而着名,同时也是一种被广泛使用的高精度视频录制、压缩和发布格式。H.264 相较于以前的编码标准有着一些新特性,如多参考帧的运动补偿、变块尺寸运动补偿、帧内预测编码等,通过利用这些新特性,H.264 比其他编码标准有着更高的视频质量和更低的码率。

H.265 则是新一代视频压缩标准,主要面向高清数字电视以及视频编解码系统的应用。

那么 H.264 和 H.265 有什么区别呢?H.265 能在有限带宽下传输更高质量的网络视频,只需原先 H.264 编码的一半带宽即可传输相同质量的视频。同时,4K 视频的数据量是高清的 4-8 倍,需要更高效率的压缩编码算法,而 H.265 同时支持 4K(4096×2160)和 8K(8192×4320)像素的超高清视频,编码效率是 H.264 的两倍。

H.265 vs VP9

VP9 是由 Google 开发的开放式、无版权费的视频编码标准,在开发初期曾经被命名为 Next Gen Open Video。目前互联网上使用最多的视频编码标准就是无版权费的 VP9。与 H.265 相比于 H.264 一样,VP9 与上一代视频编码标准相比在编码效率上均提升了 50% 。

那么 VP9 和 H.265 相比,两者孰优孰劣呢?二狗子从 8 个方面给大家比较一下:

  • 压缩效率:H.265 比 VP9 节省0.6%至38.2%的比特率。

  • 编码质量

上图为 H.265 与 VP9 编码质量的对比测试,数值越小,则表示编码质量越好。使用 H.265 编码的视频在低比特率下具有比VP9更好的视觉质量。对于更高的比特率,VP9 可能比 H.265 更好。

  • 回放CPU:VP9 的 CPU 使用率优于 H.265 。

  • 编码时间:H.265 比 VP9 花费更少的编码时间。

兼容性:Chrome,Opera,Firefox和其他基于Web的高清视频流以及三星,LG,英特尔,索尼,夏普等都广泛支持VP9。H.265 几乎被所有 4K 电视采用,VOD媒体播放器和流媒体的主要提供商也采用了它,也与Apple一样。

  • 带宽和文件大小:H.265 节省了更多的比特率,即与 VP9 相比,文件大小更小。

  • 费用:VP9 是开放的,并且免版税,而 H.265 不是。

通过对比可以看出,H.265 和 VP9 的性能是相差不大的,尽管 VP9 可以免费使用,但在实际推广中,微软、苹果等公司不愿看到 VP9 一家独大,其他互联网厂商也不希望主流视频编码格式被垄断,因此目前 VP9 主要在 Google 自家的产品中得到支持,其他大厂使用的并不多。相比而言 H.265 在商业应用中更为广泛。

介绍了这么多,可能有小伙伴有点等不及了,到底如何让那些"只闻其声,不见其人"的 MP4 文件在浏览器中正常播放呢?

又拍云音视频转码

我们已经明白无法播放的主要原因是视频编码问题,因此按照正常思路只要修改 MP4 文件的视频编码格式,就可以正常播放了。

当前市面上有许多转码的产品比如格式工厂、FFmpeg 等,可以将 MP4 文件转换为浏览器支持的视频编码格式,但是这些需要逐个操作,遇到那种几百上千集的,比如身体缩小头脑依然灵活的姓柯名南的侦探故事,就会因为太多而丧失转码欲望,但是放弃不看又让人无法割舍,那么有么有什么办法能够自动而且大量转码呢?

就让又拍云来帮你吧!又拍云 H.265 视频自适应方案集成了视频上传、视频存储、视频编码(转码)、视频分发适配、视频解码等功能:

  • 视频上传转码:使用又拍云存储,可以满足视频上传加速、转码、存储的需求。在使用云存储的基础上,用户选择将上传的 H.264 编码的视频,同步转为 H.265 编码的视频存储;

  • 视频异步转码:针对已存储在又拍云上的 H.264 编码的视频,通过又拍云异步转码服务,可转为 H.265 视频存储,同时保留 H.264 视频副本;

  • H.265分发适配:在又拍云 CDN 层面提供 H.265 分发适配功能,可对不同的客户端进行智能识别,在用户访问时响应不同的编码的视频资源。

一键式全自动处理,省时又省力,看剧好帮手,小伙伴们还不快来使用体验一下?

往期技术文章都在微信同步分享,可以添加微信:upyun0001

推荐阅读

无需额外工具,又小拍的简单抓包教程

疫情之下,线下教育如何快速搭建线上课堂?

MP4 视频“只闻其声,不见其人”,是怎么回事呢?的更多相关文章

  1. 工具---《.264视频 转成 MP4视频》

    <.264视频 转成 MP4视频> 安装了“爱奇艺万能播放器”可以打开.264视频,但是opencv却不能直接读取.264视频,还是需要想办法“.264视频 转成 MP4/avi视频”. ...

  2. 使用原生node.js搭建HTTP服务器,支持MP4视频、图片传输,支持下载rar文件

    前言 如何安装node.js,如何搭建一个简易的http服务器我这里就不再赘述了,不懂的同学可以先去学习一下.当然了,我写的也就属于简易版的增强版,大家有什么高见的欢迎提出,然后进入正题. 目录结构 ...

  3. Chrome使用video无法正常播放MP4视频的解决方案

    H5的video标签让前端开发者用一行代码就可以实现视频和音频的播放,然而,有时候我们会突然发现,某些Mp4格式的视频在Chrome下居然无法正常播放?这究竟是什么原因呢?这篇文章主要分析了部分Mp4 ...

  4. 第15.40节、PyQt(Python+Qt)实战:moviepy实现MP4视频转gif动图的工具

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 一.引言 在写<第15.39节.splitDockWidget和 ...

  5. 闻其声而知雅意,基于Pytorch(mps/cpu/cuda)的人工智能AI本地语音识别库Whisper(Python3.10)

    前文回溯,之前一篇:含辞未吐,声若幽兰,史上最强免费人工智能AI语音合成TTS服务微软Azure(Python3.10接入),利用AI技术将文本合成语音,现在反过来,利用开源库Whisper再将语音转 ...

  6. atitit.mp4 视频文件多媒体格式结构详解

    atitit.mp4 视频文件多媒体格式结构详解 1. 一.基本概念1 2. MP4文件概述2 3. mp4是由一个个“box”组成的,2 4. 典型简化mp43 5. Fragments5 6. r ...

  7. 2017年05月10日记一次微项目投产 | 安卓版微信内置浏览器不能解析gzip压缩过的mp4视频的问题

    前言 今天投产了一个小项目,一个很简单的H5,有播放视频功能,使用了videojs插件. 之前也做过数个视频播放,视频的转压都按照既定流程进行,文件放到FTP后,iphone和安卓机测试下来都没有问题 ...

  8. cocos2d-x 3.0 播放MP4视频

    猴子原创,欢迎转载.转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢! 原文地址: http://www.cocos2dev.com/?p=545 很久以前写的一个2dx播放 ...

  9. 嵌入式Linux下MP4视频录制库MP4V2移植和简单介绍

    **************************************************************************************************** ...

  10. IIS6/IIS7环境下实现支持mp4视频随意拖动、预览播放、边下载边播放

    前几天,一客户需要在IIS环境下实现MP4视频可以随意拖动观看,边下载边播放.一看这要求,IIS本身是无法实现,想着应该需要用插件,于是GG一番,还真找到这样的插件,此组件为H264-Streamin ...

随机推荐

  1. go 上下文:context.Context

    Go语言中的上下文(Context)是一种用于在 Goroutines 之间传递取消信号.截止时间和其他请求范围值的标准方式.context 包提供了 Context 类型和一些相关的函数,用于在并发 ...

  2. Android app兼容低版本Java环境

    原文地址: Android app兼容低版本Java环境 - Stars-One的杂货小窝 起因是修复一个Bug遇到的问题,找到了一个可以让app兼容低版本java的方法 众所周知,Android版本 ...

  3. cookie和session的区别?一文讲透

    一.问题 cookie和session的区别? 二.回答 1.总结如下- cookie: - cookie存储于客户端本地,即浏览器缓存 - cookie存储着sessionId,作为后台sessio ...

  4. 做数据分析,我们需要懂多少excel知识?

    数据分析所需的Excel知识详解 在进行数据分析工作时,Excel是一个非常常用且强大的数据处理工具.以下是数据分析中常用的Excel知识点和技巧的详细描述. 1. 基本操作 在使用Excel进行数据 ...

  5. Java 21中的两个值得关注的Bug修复

    在Java 21中,除了推出很多新特性之外,一些Bug修复,也需要注意一下.因为这些改变可能在升级的时候,造成影响. Double.toString()和Float.toString()的精度问题修复 ...

  6. C语言所有运算符及优先级、结合性

    C 语言所有运算符及优先级.结合性 参考:<C Primer Plus 第六版> Tip:有关优先级.结合性的表格在最后面. [1]算数运算符 '+'("加号")(二元 ...

  7. 解决yolo+cudnn+opencv+gpu的一些问题

    问题描述: 在makefile文件中修改GPU=1 CUDNN=1 OPENCV=1,然后重新make,执行命令时出现: Yolov3 darknet: ./src/cuda.c:36: check_ ...

  8. Python 中 key 参数的含义及用法

    哈喽大家好,我是咸鱼 我们在使用 sorted() 或 map() 函数的时候,都会看到里面有一个 key 参数 其实这个 key 参数也存在于其他内置函数中(例如 min().max() 等),那么 ...

  9. VS2022 安装 .NET Framework 4.0 和 .NET Framework 4.5 的方法

    解决方法 1.下载.NET Framework框架 .NET Framework 4.5.2 .NET Framework 4.5.1 .NET Framework 4.5 .NET Framewor ...

  10. 第三方登录--QQ登录--单体应用

    从零玩转第三方QQ登录 下面有源码 前后端分离版本 一样的思路 https://www.cnblogs.com/Yangbuyi/p/13194007.html 第三方GITEE登录 https:// ...