MP4 视频“只闻其声,不见其人”,是怎么回事呢?

Wesley13
• 阅读 588

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

MP4 视频“只闻其声,不见其人”,是怎么回事呢?

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

MP4 视频“只闻其声,不见其人”,是怎么回事呢?

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

什么是视频编码?

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

如何查看视频编码?

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

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%的比特率。

  • 编码质量

MP4 视频“只闻其声,不见其人”,是怎么回事呢?

上图为 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 编码的视频存储;

MP4 视频“只闻其声,不见其人”,是怎么回事呢?

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

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

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

MP4 视频“只闻其声,不见其人”,是怎么回事呢?

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

推荐阅读

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

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

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
Python之time模块的时间戳、时间字符串格式化与转换
Python处理时间和时间戳的内置模块就有time,和datetime两个,本文先说time模块。关于时间戳的几个概念时间戳,根据1970年1月1日00:00:00开始按秒计算的偏移量。时间元组(struct_time),包含9个元素。 time.struct_time(tm_y
Wesley13 Wesley13
2年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这