4.视频资源参数

4.视频剪辑设置相关


4.1 知识点

为什么要对视频剪辑进行设置?

  • 当我们将准备好的视频导入Unity后,我们可以选中该视频剪辑,并在Inspector窗口中进行设置。
  • 设置视频剪辑的主要原因包括:
    • 预览视频效果
    • 查看视频文件的基本信息
    • 设置视频剪辑是否开启转码设置
  • 通过对视频剪辑进行转码相关设置,我们可以保证在各平台都能正常播放。




视频剪辑设置参数相关


sRGB 是否开启sRGB

sRGB是微软联合惠普、三菱、爱普生等厂商联合开发的通用色彩标准。它的主要作用是避免在不同设备出现色差。一般默认让它勾选即可。

Transcode 是否开启转码

开启后下方参数才能被设置。

Dimensions 控制源文件内容的大小调整方式

  • Original:保持原始大小
  • Three Quarter Res:将源大小调整为其原始宽度和高度的四分之三
  • Half Res:将源大小调整为其原始宽度和高度的一半
  • Quarter Res:将源大小调整为其原始宽度和高度的四分之一
  • Square(1024x1024):将源大小调整为1024x1024正方形图像。宽高比可控
  • Square(512x512):将源大小调整为512x512正方形图像。宽高比可控
  • Square(256x256):将源大小调整为256x256正方形图像。宽高比可控
  • Custom:将源大小调整为自定义分辨率。宽高比可控
    • Width:生成图像的宽
    • Height:生成图像的高
    • Aspect Ratio:调整图像大小时使用的宽高比
      • No Scaling:根据需求添加黑色区域以保留原始宽高比
      • Stretch:拉伸原始内容以填充目标分辨率,不留黑色区域

Codec 选择用于转码的解编码器

  • Auto:为目标平台选择最合适的视频编解码器
  • H264:MPEG–4 高级视频编码 (AVC) 视频编解码器,受大多数平台上的硬件支持
  • H265:MPEG-H Part 2 或高效视频编码 (HEVC) 视频编解码器,受某些平台上的硬件支持
  • VP8:VP8视频编解码器,受到大多数平台上的软件支持,并受到 Android 和 WebGL 等几个平台上的硬件支持。

Bitrate Mode 相对于所选编解码器的基线配置文件的低、中或高比特率

Spatial Quality 此设置决定视频图像在转码过程中是否压缩大小,缩小意味着它们占用的存储空间更少。但是,调整图像大小也会导致在播放期间出现模糊。

  • Low Spatial Quality:在转码期间图像大小显著减小(通常为原始尺寸的四分之一),然后在播放时扩展回原始大小。它可以节省最多的存储空间,但在播放时会产生最大的模糊度
  • Medium Spatial Quality:在转码期间图像大小适度减小(通常为原始尺寸的一半),然后在播放时扩展回原始大小。图像将比使用 Low Spatial Quality 选项的图像更清晰,所需存储空间有所减少。
  • High Spatial Quality:如果选择此选项,则不会调整大小。这意味着在转码期间图像大小不会减小,因此将保持视频的原始视觉清晰度。

Keep Alpha 保留Alpha透明通道并在转码期间将其编码

仅对具有Alpha通道的源显示此属性。注意:Android平台的原生 VP8 支持中不包括透明度支持,这意味着必须启用转码,以便 Unity 使用其内部 Alpha 表示方法。

Deinterlace(去交错设置)控制隔行扫描源在转码期间如何解除隔行扫描 去交错设置主要是为了优化动态画面的清晰度

  • Off:源文件没有隔行扫描,不进行隔行扫描

  • Even:采用每个帧的偶数行,将其插入以创建缺失内容,丢弃奇数行

  • Odd:采用每个帧的奇数行,将其插入以创建缺失内容,丢弃偶数行

  • 关于隔行和逐行扫描:

    • 隔行扫描(Interlaced)和逐行扫描(Progressive)都是在显示设备表示运动图像的方法,隔行扫描方式是每一帧被分割为两场画面交替显示,逐行扫描方式是将每帧的所有画面同时显示。通常的液晶电视显示画面的扫描方法都是从左到右从上到下,每秒钟扫描固定的帧数。
    • 隔行扫描就是每一帧被分割为两场,每一场包含了一帧中所有的奇数扫描行或者偶数扫描行,通常是先扫描奇数行得到第一场,然后扫描偶数行得到第二场。由于视觉暂留效应,人眼将会看到平滑的运动而不是闪动的半帧半帧的图像。但是这时会有几乎不会被注意到的闪烁出现,使得人眼容易疲劳。当屏幕的内容是横条纹时,这种闪烁特别容易被注意到。
    • 逐行扫描每次显示整个扫描帧,如果逐行扫描的帧率和隔行扫描的场率相同,人眼将看到比隔行扫描更平滑的图像,相对于隔行扫描来说闪烁较小。
    • 每一帧图像由电子束顺序地一行接着一行连续扫描而成,这种扫描方式称为逐行扫描。把每一帧图像通过两场扫描完成则是隔行扫描,两场扫描中,第一场(奇数场)只扫描奇数行,依次扫描1、3、5…行,而第二场(偶数场)只扫描偶数行,依次扫描2、4、6…行。隔行扫描技术在传送信号带宽不够的情况下起了很大作用,逐行扫描和隔行扫描的显示效果主要区别在稳定性上面,隔行扫描的行间闪烁比较明显,逐行扫描克服了隔行扫描的缺点,画面平滑自然无闪烁。在电视的标准显示模式中,i表示隔行扫描,p表示逐行扫描。

Filp Horizontally 如果选中它,当转码时会将视频源文件内容沿水平轴翻转实现上下翻转

Flip Vertically 如果选中它,当转码时会将视频源文件内容沿垂直轴翻转实现左右翻转

Import Audio 只有存在音频轨道的视频才会出现该选项 如果勾选它,转码期间会导入音频轨道

总结

  • 视频剪辑相关设置的主要目的是为了设置视频转码相关方案,通过视频转码,可以让视频尽量支持各平台。

  • 关于各平台的转码规则我们在上节课中就已经讲过:

    • 可用于硬件加速并且本机支持的最优视频编解码器是 H.264。
    • 当优先考虑跨平台支持时,VP8 是一个不错的选择。VP8 得到广泛支持并具有全面的功能集,但与硬件加速的编解码器(例如 H.264)相比,需要消耗更多的资源。
    • 在支持 H.265 的设备上可以使用 H.265。
    • Android 使用原生库支持 VP8,因此 VP8 在某些 Android 设备上也可能获得硬件辅助。
  • 一劳永逸 mp4 格式 + H.264 编解码器,根据设备情况考虑使用 VP8 和 H.265 编解码器。


4.2 知识点代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Lesson04_视频剪辑设置相关 : MonoBehaviour
{
    void Start()
    {
        #region 知识点一 为什么要对视频剪辑进行设置?
        //当我们将准备好的视频导入Unity后
        //我们可以选中该视频剪辑,并在Inspector窗口中进行设置
        //设置视频剪辑的主要原因
        //1.预览视频效果
        //2.查看视频文件的基本信息
        //3.设置视频剪辑是否开启转码设置

        //通过对视频剪辑进行转码相关设置
        //我们可以保证在各平台都能正常播放
        #endregion

        #region 知识点二 视频剪辑设置参数相关

        #endregion

        #region 总结
        //视频剪辑相关设置的主要目的
        //是为了设置视频转码相关方案
        //通过视频转码,可以让视频尽量支持各平台

        //关于各平台的转码规则 我们在上节课中就已经讲过
        //1.可用于硬件加速并且本机支持的最优视频编解码器是 H.264
        //2.当优先考虑跨平台支持时,VP8 是一个不错的选择。
        //  VP8 得到广泛支持并具有全面的功能集,但与硬件加速的编解码器(例如 H.264)相比,需要消耗更多的资源。
        //3.在支持 H.265 的设备上可以使用 H.265。
        //4.Android 使用原生库支持 VP8,因此 VP8 在某些 Android 设备上也可能获得硬件辅助。

        //一劳永逸 mp4格式 + H.264编解码器
        //根据设备情况考虑使用 VP8 和 H.265 编解码器
        #endregion
    }
}


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com

×

喜欢就点赞,疼爱就打赏