Unity学习笔记14——导入视频格式问题(QuickTime player)
2018-04-03 11:09
423 查看
前言: 由于Unity中能够识别的视频格式主要有:.mov, .mpg, .mpeg, .mp4, .avi, .asf,但是其实最后这些格式的时候在导入到Unity中的时候,都会再进行一次Unity内部的视频转码,这是一个耗时的操作,而且要保证视频转码的顺利完成,我们还必须安装Quicktime player工具,用于视频的转码。
一、遇到问题: 按照要求,我安装了Quicktime player之后,将视频war_video.mp4通过拖拽导入到Unity中,结果提示:“Movie importing requires Quicktime to be installed...”这样的错误,这是因为Unity对于Quicktime player的依赖还没有生效。通过查询我们可以知道,导入Unity的视频最后都被转码为.ogv格式,这是Unity能够直接识别的格式。
在解决问题的时候,我找到了一个这样子的视频格式转码工具,能够将其他格式的视频转码为Unity能够直接识别的.ogv格式,而且不依赖于Quicktime player,而且导出来视频的质量会比Quicktime转码的更加高,这个工具就是:TheoraConverter。
二、安装使用:1.安装:下载得到压缩包,先双金.exe文件,选择解压目录进行解压:
2.解压:找到解压目录,下面会有两个文件:setup.exe和setup.msi,双击setup.exe即可完成安装:
3.开始转码操作:可以通过Add按钮添加指定目录下的视频文件,也可以通过拖拽添加视频,指定转码后得到的视频文件目录,然后点击START按钮就开始视频的转码:
视频转码进行中:
4.视频转码成功后,得到一个与原视频文件同名但后缀不同的视频文件:War Video.ogv
5.导入到Unity中:由于不需要再进行转码,所以资源载入的速度很快,可以在Inspector中预览播放视频:
创建脚本 添加到Plane上面 把视频拖拽至脚本using UnityEngine;
using System.Collections;
public class Script_moveTest : MonoBehaviour
{
//电影纹理
public MovieTexture mov;
// Use this for initialization
void Start()
{
//设置当前对象的纹理是电影纹理
GetComponent<Renderer>().material.mainTexture = mov;
//设置为循环播放
mov.loop = true;
if (!mov.isPlaying)
{
mov.Play();
}
}
}
一、遇到问题: 按照要求,我安装了Quicktime player之后,将视频war_video.mp4通过拖拽导入到Unity中,结果提示:“Movie importing requires Quicktime to be installed...”这样的错误,这是因为Unity对于Quicktime player的依赖还没有生效。通过查询我们可以知道,导入Unity的视频最后都被转码为.ogv格式,这是Unity能够直接识别的格式。
在解决问题的时候,我找到了一个这样子的视频格式转码工具,能够将其他格式的视频转码为Unity能够直接识别的.ogv格式,而且不依赖于Quicktime player,而且导出来视频的质量会比Quicktime转码的更加高,这个工具就是:TheoraConverter。
二、安装使用:1.安装:下载得到压缩包,先双金.exe文件,选择解压目录进行解压:
2.解压:找到解压目录,下面会有两个文件:setup.exe和setup.msi,双击setup.exe即可完成安装:
3.开始转码操作:可以通过Add按钮添加指定目录下的视频文件,也可以通过拖拽添加视频,指定转码后得到的视频文件目录,然后点击START按钮就开始视频的转码:
视频转码进行中:
4.视频转码成功后,得到一个与原视频文件同名但后缀不同的视频文件:War Video.ogv
5.导入到Unity中:由于不需要再进行转码,所以资源载入的速度很快,可以在Inspector中预览播放视频:
创建脚本 添加到Plane上面 把视频拖拽至脚本using UnityEngine;
using System.Collections;
public class Script_moveTest : MonoBehaviour
{
//电影纹理
public MovieTexture mov;
// Use this for initialization
void Start()
{
//设置当前对象的纹理是电影纹理
GetComponent<Renderer>().material.mainTexture = mov;
//设置为循环播放
mov.loop = true;
if (!mov.isPlaying)
{
mov.Play();
}
}
}
相关文章推荐
- Unity学习笔记14——导入视频格式问题(QuickTime player)
- Hibernate视频学习笔记(14)抓取策略
- BI工具:tableau桌面版 视频学习笔记(五、格式;注释)
- (rfc3984)H.264视频的RTP负载格式--学习笔记
- SAP BW_PA_文件_层级数据——视频学习笔记14
- 学习笔记--了解主要视频格式
- 孙鑫VC++视频学习笔记之14:网络编程
- iOS学习笔记14-CocoaPods pod install/pod update更新慢的问题
- unity学习、unity培训、unity企业培训、U3D资源、U3D培训视频U3D教程、U3D常见问题、U3D项目源码
- Unity官方游戏实例视频中文教程之太空射击学习笔记
- Part2:Unity学习笔记十七 - Space Shooter(从视频最后一课向Done_Main.unity场景修改的过程)
- MPEG4 & H.264学习笔记之一 ------ 视频格式与质量
- Part2:Unity学习笔记十二 - Space Shooter(从视频最后一课向Done_Main.unity场景修改的过程)
- Android Studio 学习笔记-新手入门-(2)导入项目遇到的问题
- MPEG4 & H.264学习笔记之一 ------ 视频格式与质量
- 传智播客Hibernate视频教程学习笔记14
- Part2:Unity学习笔记十四 - Space Shooter(从视频最后一课向Done_Main.unity场景修改的过程)
- Mars Android视频学习笔记——01_14/15_Handler的使用
- Part2:Unity学习笔记十五 - Space Shooter(从视频最后一课向Done_Main.unity场景修改的过程)
- 韩顺平_php从入门到精通_视频教程_第21讲_解答学员问题_学习笔记_源代码图解_PPT文档整理