0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何使用转码配合存储实现内容的分发?

LiveVideoStack 来源:LiveVideoStack 2023-01-12 11:00 次阅读

今天主要介绍与转码相关的服务以及如何使用转码配合存储实现内容的分发。转码是无运维的、全托管的服务,其主要利用谷歌自主研发的转码、容器等技术来帮助用户实现高效且高速转码。提到转码技术,大家比较熟悉的是FFmpeg,可以自己编写转码的格式,但是使用这种全托管、无服务器的服务能让大家更快速地实现业务的落地,并且这种服务还有功能上、成本上和性能上的优势,之后会具体展开讲解。这类服务主要按照转码的内容的时长来收费。

ab05c46a-918b-11ed-bfe3-dac502259ad0.jpg

接下来,介绍转码的服务支持哪些具体的格式,这也是大家比较关心的问题。首先,在音视频领域,支持的输入格式比较多,包括手机拍摄的视频、各种录制设备拍摄的视频、音频、字幕文件等。然后,在输出格式方面,在视频编码中可以比较好地支持H.264、H.265和VP9等编码格式,现在大家也可能会关注新的、免费的编码格式。

VP9是谷歌在YouTube等业务里使用较多的编码格式,在一些场景下,与H.264等编码格式相比,VP9可以做到50%的流量节省,特别是在一些发展中区域(非洲、中东、南美等),这可以让用户使用更低的带宽更流畅地观看视频,使用户有更好的体验。

除了VP9,谷歌也参与了AV1编码格式的制定,该格式将来也会加入到支持的输出格式里。在音频、字幕方面,也有很多支持的输出编码格式。此外,我们也支持图片的输出,之后会介绍一个相关场景案例,说明在编码视频时为何需要做到图片的输出。

ab18ac88-918b-11ed-bfe3-dac502259ad0.jpg

该服务的一个比较大的优势是帮助客户在出海时增加视频版权管理的功能。视频在海外落地时,版权方会有一些要求,比如对视频加密或使用版权管理的标准。现在全球有三大标准,包括苹果的FairPlay、谷歌的Widevine和微软的PlayReady。

此外,苹果还制作了免费版本的AES-128的加密标准。在转码时,可以添加配置以上提到的标准,以此帮助大家根据要求来更好地做到内容的版权管理和保护,这也是转码服务里非常方便应用的一个功能。

ab2f71ca-918b-11ed-bfe3-dac502259ad0.jpg

谷歌的转码服务有一个特殊的技术优势,即可以使用谷歌的视频分析和容器化的服务来帮助用户在短时间内完成长视频的转码。当收到一个长视频时,首先对其进行内容分析,然后对其自动切片,分成不同片段后使用并行的方式部署转码/编码任务,再然后用大的集群并行地完成视频内容的转码,这使得长视频的转码时长是固定的(基本在3至5分钟内),而不随视频内容时长增长而增长。

ab416290-918b-11ed-bfe3-dac502259ad0.jpg

该服务还有一些高级功能。视频内容可能包含很多的音轨、视轨和字幕轨道,我们首先使用不同的对象管理方式在模板里定义出元素级别的内容流(包括音频、视频和字幕),然后对其进行任意的组合,比如高码率的视频可以和高码率的音频组合,低码率的视频可以和低码率的音频组合。

组合完成后得到复合流,然后可以定义输出的流媒体,在定义的媒介里引用复合流。同时,将其定义成在不同的客户端码率的情况下,多码率适配的选用方式,使得可以根据客户端的实时码率来自动地选择不同的复合流,实现码率的自动适配。上述功能可以方便地在配置模板里实现。

ab545382-918b-11ed-bfe3-dac502259ad0.jpg

另外,视频有时需要进行编辑,此时没有必要采购或安装视频的编辑工具,因为我们的转码工具就可以做到视频内容的拆分或拼接。举个例子,假设有4个输入的视频文件,我们想从每个视频文件中选取一部分组成最终的视频文件。从图中可以发现,使用转码的配置就可以做到上述效果,即可以按照任意顺序组合选取的任意长度的视频切片,从而得到最终的视频文件。

这类功能适用于嵌入片头和片尾的广告,因为广告可能有固定时长、固定位置(片头、片中或片尾)。同时,这类功能也适用于制作体育比赛的集锦,经过视频内容分析后,通过拆条将视频拆分为多个片段,可以将与进球有关的或高质量的片段作为输入放入模板里,并对其进行最后的组合,得到集锦片段。

ab661072-918b-11ed-bfe3-dac502259ad0.jpg

刚才提到的功能可以在转码模板里定义。这里没有采取界面等可视化的方式,这是因为,虽然在很多时候采取可视化的编辑方式可以方便地实现一些功能,但若要实现复杂的、定制化的转码的配置,使用配置文件会更方便。这里有两种配置文件的使用方式,一种是对每个任务进行完整的配置,可以定义所有的输入、输出和中间的流的组合。

另一种方式是,将使用相同方式转码的配置写成一个模板,在创建任务时使用该模板,对输入的内容的文件名进行不同的替换。那么,在创建任务时只需定义文件名和输出的位置即可,这样可以更方便地实现转码任务的自动化。

ab8c094e-918b-11ed-bfe3-dac502259ad0.jpg

接下来举一个例子,说明如何用转码的服务生成DASH流媒体。目前,在线观看流媒体的用户比较多(使用平板或手机观看)。在海外常用的格式不是国内常用的FLV1格式,而是HLS格式和MPEG-DASH格式。在谷歌云的转码服务里,针对这两种流媒体格式进行了很多优化。

在这个例子中,在流媒体的输出中定义了三个不同的码率:400kbps、750kbps和仅有音频的码率(最低码率)。这三种码率格式可以按照规定进行转码输出,确保最后输出的不同码率和定义的播放码率是相匹配的。同时,也会自动生成MPD文件和视频或音频流的M4S文件,可以在移动设备上观看这些文件。同理,HLS格式的转码过程与上述过程类似。

ab980e9c-918b-11ed-bfe3-dac502259ad0.jpg

接下来介绍另一个有意思的场景。如果输入视频里有多个不同的音轨,比如多语言音轨,在输出文件中,要根据不同的推广国家选择不同的音轨,那么可以用转码来进行选择和定义。具体地,可以引用输入文件里的某一个音轨或channel,然后在输出时在不同的文件里加入不同的语言的音轨,使得最后的输出文件可以根据不同的市场完成不同的定制。因此,针对海外不同国家和不同市场的业务,可以实现灵活地应用。

aba7dade-918b-11ed-bfe3-dac502259ad0.jpg

之前提到,有时在视频转码时会生成图片,接下来介绍其中的一个例子。在转码时,可以规定其按照固定间隔抽帧生成图片,比如规定每一分钟生成一张图片,或者在一个时长为一小时的影片中,规定总共生成十张图片,那么就会自动按照九个相同的间隔生成十张图片。最后,可以选取质量较好的图片作为视频的封面。

abc5aba4-918b-11ed-bfe3-dac502259ad0.jpg

另外,还可以指定输出图片的长宽比。有的视频比例是16:9,有的视频比例是4:3,因此可以选择输出图片的不同的长宽比来适配视频本身的长宽比,做到不变形。同样,可以选择一张图片作为视频的封面,提升用户体验。

abeae2d4-918b-11ed-bfe3-dac502259ad0.jpg

刚才主要介绍了一些基本的功能和特色,接下来介绍如何使用转码服务。首先,要进行视频内部的分析,了解输入视频的格式、时长和编码特点,掌握输入视频包含哪些音频和字幕轨。然后,要定义输出的格式,即针对不同的场景,比如WiFi播放、手机播放等,定义期望的输出格式。

接着,根据输入和输出的定义,完成转码的配置的编写。其中,可以参考文档中的示例和模板,我们谷歌云的同事也可以帮助客户进行调试。调试好的配置可以在云上进行使用,每次创建任务后,可以选择特定的配置的模板。最后输出的视频文件可以在不同的播放器上播放、测试,然后可以固化达到预期的测试效果的配置,以供后续使用。以上就是一个大概的流程。

abf97024-918b-11ed-bfe3-dac502259ad0.jpg

为了实现这个流程的自动化,我们设计了一个方案。在这个方案里,我们使用了谷歌云无服务器托管的服务,帮助大家在免运维的模式下生成视频制作的工作流。首先,在谷歌云的对象存储里创建存储的目录,将所有的原视频放在目录里。

然后,每当有新视频上传时,就会触发云函数,由云函数来启动转码任务,其可以根据视频特点引用相应的转码配置。完成转码任务后,会向消息队列投递一个消息,消息队列根据接收到的消息触发另一个云函数,由其进行输出文件的管理。

输出文件有几种类型,一种是任务失败,那就要把输入/输出文件放在失败的队列的存储位置。另一种是任务成功,那么就将其放在发布的存储位置。还可以使用相应的代码实现内容的catalog管理,将视频内容的转码结果放到数据库里。这样的完全自动化的流水线适用于业务繁忙的、转码任务较多的场景。

ac159e7a-918b-11ed-bfe3-dac502259ad0.jpg

至此,我已经介绍完了转码服务。转码服务的完成是第一步,接下来要考虑如何让用户看到视频,这里我们建议使用谷歌云的技术服务——CDN。完成转码服务的视频可以放在对象存储里,让对象存储作为视频的源站。对象存储可以对其进行名称定义、目录划分和生命周期管理。

同时,将视频放在对象存储里的最主要的目的是实现高效的内容的分发。因此,可以利用谷歌云的CDN接入GCS,将对象存储作为源站,让用户可以更高速地下载视频。举个例子,谷歌云在全球有较多的网络部署,也有一百多个CDN节点,这些节点与全球上千家主流运营商有直连。

因此,在大部分国家和区域,用户经过ASN的一跳就可以访问CDN的缓存,可以高效地观看或下载视频。一些小的运营商的用户经过ASN的两跳或三跳也可以访问CDN的缓存,然后可以高效下载内容。

ac2fef6e-918b-11ed-bfe3-dac502259ad0.jpg

接下来,给大家介绍谷歌云的CDN网络和源站的对象存储的部署情况。可以看到,在全球的一些热点地区,比如美国、欧洲等,部署是比较密集的,可以帮助出海用户实现快速高效的视频业务的部署。目前,很多出海客户使用谷歌云的CDN不仅实现了视频的下载,还实现了应用、游戏的下载。这是因为,使用谷歌云的转码服务和CDN可以以无缝的方式实现视频业务的部署。

ac459238-918b-11ed-bfe3-dac502259ad0.png

最后,展示一下谷歌云CDN的性能报告。相比于其他CDN的平台,由于在全球建立了很多骨干网,所以谷歌云的CDN有网络的优势,可以帮助用户以更低的延时下载内容,而且吞吐也较高。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 视频编码
    +关注

    关注

    2

    文章

    111

    浏览量

    20832
  • HLS
    HLS
    +关注

    关注

    1

    文章

    126

    浏览量

    23683
  • ffmpeg
    +关注

    关注

    0

    文章

    45

    浏览量

    7290

原文标题:应用谷歌云实现高效视频转码和分发

文章出处:【微信号:livevideostack,微信公众号:LiveVideoStack】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何使用API提交转码任务?

    。使用API转码可以实现:自定义业务逻辑,灵活提交转码作业功能强大,支持转码、转封装、水印、支持HLS-AES128标准加密、剪辑等功能转码
    发表于 01-05 15:18

    【MPS最佳实践】媒体工作流转码

    开启内容分发加速功能,参见 域名管理。视频上传:您可以通过媒体处理控制台或使用OSS相关上传工具上传视频文件。同时,我们也提供覆盖所有平台的上传SDK。视频管理。视频播放。搭建一个视频转码应用服务JAVA源码下载扫码获取更多资讯
    发表于 02-28 11:15

    音视频转码技术指南:国内主流云转码服务提供商对比测评

    采集、编辑、上传、转码、媒资管理、分发、播放众多链路环节。在转码这一环,选择技术实力强大和产品功能丰富的云服务商,可以省去自研的时间和成本,更专注于业务和产品本身的打磨。在选择中,功能完整度是十分重要
    发表于 02-28 11:51

    如何在视频工程中使用转码技术?

    本文简单介绍了视频转码技术的定义、分类及实现手段,重点分析了如何在视频工程中使用转码技术,包括转码技术的使用方式及其优势所在。分析了在流方式和文件方式下如何使用
    发表于 06-02 07:06

    基于BitTorrent种子的内容分发算法

    分析当前最流行的P2P 软件——BT 的工作方式,发现其内容分发算法使得文件片段在网络节点中分布不均,影响系统效率。提出基于种子控制的内容分发算法,该算法能有效避免稀有
    发表于 03-29 10:57 13次下载

    视频转码技术及转码实现详解

      本文简单介绍了视频转码技术的定义、分类及实现手段,重点分析了如何在视频工程中使用转码技术,包括转
    发表于 11-19 11:56 1308次阅读

    内容分发网络(CDN)的发展与应用

    内容分发网络( CDN ) 技术的出现, 使传统的Web访问的数据传输方式得到很大的改进。它通过应用层的内容智能路由技术, 保证用户实现就近访问, 大大改善了Web访问性能。CDN 解
    发表于 04-17 14:45 21次下载
    <b class='flag-5'>内容</b><b class='flag-5'>分发</b>网络(CDN)的发展与应用

    基于CDN内容分发的研究与应用

    内容分发网络(CDN)技术是近年来在美国首先兴起并迅速发展起来的一种解决互联网性能不佳问题的有效手段。CDN 系统能够实时地根据网络流量和个节点的联接、负载状况以及到用户的
    发表于 04-17 14:46 25次下载
    基于CDN<b class='flag-5'>内容</b><b class='flag-5'>分发</b>的研究与应用

    融合P2P技术的云平台快速内容分发方法

    存储服务在内容分发过程中的数据传递协议通常采用超文本传输协议( HTTP),当大量客户端在短时间内向云存储服务器发出下载同一文件的请求时,会造成云服务端带宽压力过大以及客户端下载过慢
    发表于 12-07 11:36 0次下载

    阿里云视频点播转码多场景化最佳实践

    多场景化的转码处理方案,如何实现将用户定制化的场景需求进行抽象提取,最终以适用于其他点播用户的同样或类似的业务场景需求。用户准备工作开通点播服务,开通服务添加转码模板组,转码设置 >
    发表于 08-14 17:56 194次阅读
    阿里云视频点播<b class='flag-5'>转码</b>多场景化最佳实践

    转码技术在视频领域内的应用分析

    关键词:视频 , 转码 本文简单介绍了视频转码技术的定义、分类及实现手段,重点分析了如何在视频工程中使用转码技术,包括转码技术的使用方式及其
    发表于 10-17 14:14 287次阅读

    ST推出独特的Faroudja 转码技术,使任何数字媒体内容均可随时随地在任何设备上播放

    关键词:转码 , Faroudja , 家庭网关 , 数字家庭 意法半导体(STMicroelectronics,简称ST)推出业内首个能够让家庭网关把任何类型内容分发到家中任何类型的联网设备的
    发表于 10-17 20:13 415次阅读

    区块链去中心化内容分发平台Ulord介绍

    Ulord是一个去中心化的内容分发平台,提供了基于区块链技术的内容分发公链,通过开展一些创造性的工作为内容
    发表于 11-16 14:50 1219次阅读

    如何在视频领域使用转码技术,有何优势

      本文简单介绍了视频转码技术的定义、分类及实现手段,重点分析了如何在视频工程中使用转码技术,包括转码技术的使用方式及其优势所在。分析了在流方式和文件方式下如何使用
    发表于 11-24 07:49 760次阅读
    如何在视频领域使用<b class='flag-5'>转码</b>技术,有何优势

    全局负载均衡与CDN内容分发

    模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储分发技术。
    的头像 发表于 12-26 09:47 555次阅读