探究:Bilibili x 杜比音效(一) |
您所在的位置:网站首页 › b站电脑版上传视频编辑 › 探究:Bilibili x 杜比音效(一) |
探究:Bilibili x 杜比音效 系列专栏(一):一种制作符合B站「杜比全景声」标准的视频的流程 一、前言: B站在最近上线了「杜比音效」这一大会员专属选项。 视频投稿-更多设置-视频元素-高级设置-杜比音效开启这一选项后,其有多种不同的效果。 本篇专栏将聚焦于符合「杜比全景声」标准的部分。 在正式开始前,需要了解以下两组概念: 1.「立体声」、「环绕声」与「全景声」: 从理论的扬声器(音频通道)数量上看: 「立体声」只有两个扬声器:左(L)与右(R); 「环绕声」拥有更多的扬声器:如在7.1标准中,共有7个环绕声扬声器与1个低音扬声器。但这些扬声器理论上同处一个平面; 「杜比全景声(Dolby Atmos)」在环绕声的基础上,增加了位于空中的扬声器。 Dolby Digital Plus offers an enveloping 7.1-channel listening experience[1]从声场的维度看: 「立体声」的声场限制在了以听者为圆心,两个扬声器为弧端点的扇面上; 「环绕声」的声场扩大到了被扬声器包围的整个平面; 「杜比全景声(Dolby Atmos)」的声场扩大到了空间维度。 2.「基于音频通道(声道)的编码(channel-based codec)」与「基于对象的编码(object- based codec)」: 「基于音频通道(声道)的编码(channel-based codec)」:其直接记录所有音频通道的声音信息。在解码时,解码器直接将对应音频通道的音频信息分配给对应的扬声器。 「基于对象的编码(object-based codec)」:其记录的是声音对象(Audio Object)的信息,包括其声音信息与空间信息等。在解码时,解码器根据播放设备的不同,计算各个扬声器如何播放音频,并最终复现声音。 杜比全景声(Dolby Atmos)的编码是基于对象的。 二、制作:根据B站客服提供的信息,E-AC-3(Dolby Atmos)是B站目前接受的「杜比全景声」的编码格式。 Bilibili客服提供的「杜比全景声」编码要求这种编码一般被称为Dolby Digital Plus with Atmos(Dolby Digital Plus JOC/DD+JOC/E-AC-3 JOC)(JOC:Joint Object Coding)。其基于Dolby Digital Plus™[2]所使用的环绕声音频编码技术,并加入了基于对象的音频信息。有关其详细信息请参阅本系列后续专栏。 制作流程可分为三个部分:「音频制作」、「音频转码」与「文件封装」。 在「音频制作」部分,本篇专栏使用Logic Pro X[3]进行音频制作。 在「音频转码」部分,本篇专栏使用Dolby Atmos Renderer[4]进行音频转码 在「文件封装」部分,使用FFmpeg[5]进行文件封装。 三个制作工具本篇专栏将着重介绍基于FFmpeg的封装方法。 (一)「音频制作」与「音频转码」有关这些部分的详细制作流程,请参考视频: 有关使用Logic Pro X制作「杜比全景声」音频项目的更多教程,可以参考以下等视频内容: 根据上述流程后,你会得到一个只含有Dolby Digital Plus with Atmos(Dolby Digital Plus JOC/DD+JOC/E-AC-3 JOC)编码的音频通道的「.mp4」文件。你可以使用MediaInfo[6]工具查看并确认文件中的音频通道的编码是否正确: 通过MediaInfo读取的视频信息在此基础上,你还需要从Logic Pro X等音乐制作软件中并轨并导出一个立体声文件: 1.将Atmos插件中的监听模式设置为「Binaural」或「2.0」。其二者均为立体声。其中,「Binaural」为双耳模拟监听模式,「2.0」为普通立体声监听模式。通过耳机播放时,「Binaural」的听感比「2.0」的听感更接近杜比全景声的真实听感。 设置监听模式2.并轨并导出立体声音频文件「.wav」。 并轨并导出立体声音频文件(二)「文件封装」进行文件封装前,请确认你拥有了: 1.视频文件; 2.音频通道为E-AC-3 JOC编码的「.mp4」杜比全景声文件; 3.立体声音频文件(可以以音频通道的形式包含在视频文件内)。 并且,确认以上文件的时间长度相等。 若不相等,请记住,只运行本专栏下方相关命令(命令参数),在最终生成的文件中,所有视频与音频都会同时播放,且总时长等于所有被封装的视频和音频文件中最长的时长。 若视频短于音频,则视频播放完毕后,会停留在最后一帧,直至音频播放完毕;若音频短于视频,则在音频播放完毕后,视频会继续播放,无声,直到视频播放完毕。 在FFmpeg中,有其他相关的命令(命令参数),可以进行进一步操作。详细命令(命令参数)烦请读者自行查找。 接下来的封装逻辑为: 将视频源封装至输出文件的视频通道 将立体声音频源封装至输出文件的第一条音频通道(音频通道0) 将杜比全景声音频源封装至输出文件的第二条音频通道(音频通道1) 具体命令: ffmpeg -i 文件1 -i 文件2 (-i 文件3 )-map v1:x1 -map a1:y1 -map a2:y2 -c:v VideoEncoder type -c:a:0 AudioEncoderType -c:a:1 AudioEncoderType OutPutFileName.xxx 命令解析: -i 文件1 -i 文件2 (-i 文件3 ) 「-i 文件」指定了源文件。其中,文件1、文件2、(文件3)为源文件路径。可以通过将文件拖入终端进行自动获取。 「-i 文件」有顺序,对应接下来的「-map FileNo:ChannelNo」中的参数。 -map v1:x1 -map a1:y1 -map a2:y2 「-map」后的参数决定了源文件中的哪个文件的哪条通道成为新文件的通道。每个「-map FileNo:ChannelNo」中,FileNo决定了由「-i 文件」输入的源文件的序号,从0开始排序;ChannelNo决定了FileNo对应源文件中的通道序号。可通过「ffmpeg -i 文件」命令查看通道序号及具体信息。 例: 通过FFmpeg命令输出的文件信息「Output-Stereo.mp4」为拥有一条视频通道,一条音频通道的文件; 橙色部分为输入的命令; 红色部分为输出的通道信息,其中: Stream#0:0代表第一个输入文件的第一条通道,通道序号为0。后续信息显示,其为h.264编码的视频通道; Stream#0:1代表第一个输入文件的第二条通道,通道序号为1。后续信息显示,其为aac编码的音频通道。 通过这种查看方式,可以了解我们所需的通道序号,以供在「-map FileNo:ChannelNo」中正确使用。 当然,也可使用MediaInfo软件查看通道序号,据具体方法不再赘述,烦请读者自行查阅。 「-map」命令拥有顺序,其顺序决定每个「-map」所指定的通道在输出文件中的通道顺序。 因此,在「-map v1:x1 -map a1:y1 -map a2:y2」参数部分,v1:x1指定的是视频通道;a1:y1指定的是立体声音频通道;a2:y2指定的是E-AC-3 JOC编码的杜比全景声音频通道。 -c:v VideoEncoderType -c:a:0 AudioEncoderType -c:a:1 AudioEncoderType 「-c:v VideoEncoderType」决定了输出文件中视频通道的编码类型。一般情况下,可以使其与源视频文件的编码类型保持一致,VideoEncoderType为copy,即,该命令部分为「-c:v copy」 如需使用其他编码类型,烦请读者自行查找相关信息。 「-c:a:x AudioEncoderType」决定了输出文件中音频通道的编码类型,「x」为音轨通道的序号(此序号不统计其它类型的通道,从0开始编号)输出文件中,第一条音频通道为立体声,并且B站建议其为aac编码;第二条音频通道为杜比全景声,为E-AC-3 JOC编码。 因此,在「-c:v VideoEncoderType -c:a:0 AudioEncoderType -c:a:1 AudioEncoderType」参数部分,其具体应为「-c:v copy -c:a:0 aac -c:a:1 copy」 OutPutFileName.xxx 该命令部分决定了输出文件的路径与文件名称。「.xxx」通常为「.mp4」或「.mov」。 至此,依照以上命令解释,相信读者可以使用FFmpeg的命令工具为文件进行封装。 在FFmpeg完成文件封装后,建议通过MediaInfo软件查看封装的正确与否。 例: 最终输出文件的MediaInfo在上述MediaInfo中,可以看到,文件拥有一条视频通道,两条音频通道。其中,第一条音频通道为AAC编码的立体声音频通道;第二条音频通道为E-AC-3 JOC编码的杜比全景声音频通道。 拥有如此通道布局的文件便可上传至B站。在投稿时勾选「杜比音效」选项,B站便可以正确识别杜比全景声与立体声,并正确播放相应的音频通道了。 在「SunSet-DolbyAtmos-Test」中: P1为通过上述流程制作的含有E-AC-3 JOC编码的杜比全景声音频通道的视频。并且,该视频的立体声音频额外添加了「正在播放的声源是立体声」提示音,以便与杜比全景声音频进行区分; P2为含有E-AC-3编码的5.1环绕声音频通道的视频。并且,该视频的立体声音频额外添加了「正在播放的声源是立体声」提示音,以便与环绕声音频进行区分; P3为只有一条立体声音频通道的视频,但在上传时仍勾选了「杜比音效」选项。可以发现,其仍然可以开启「杜比音效」。并且,开启前后,视频播放的声音是有所不同的。 这十分有趣。 有关此话题的更多信息,请查看下一篇专栏 Debug Tips: 1.文件路径中若有空格等非法字符,请使用" "(mac终端)/' '(Windows cmd)括起整个文件路径; 2.注意修正多余或缺失的「-」等符号; 3.注意不要混淆中英文标点符号; 4.根据报错信息等进行命令修正; 5.使用Google等搜索引擎进行相关搜索。 参考文献[1]Dolby Digital What’s the Plus in Dolby® Digital Plus https://professional.dolby.com/technologies/dolby-digital-plus/ https://professional.dolby.com/globalassets/dolby-digital-plus/dolby-digital-plus-brochure.pdf [2]Dolby Digital Plus™ https://professional.dolby.com/technologies/dolby-digital-plus/ [3]Logic Pro X https://www.Apple.com.cn/logic-pro/ [4]Dolby Atmos Renderer https://customer.dolby.com/content-creation-and-delivery/dolby-atmos-renderer-production-and-mastering-suites [5]FFmpeg https://ffmpeg.org/ [6]MediaInfo http://MediaArea.net/MediaInfo/ |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |