首页 > 代码库 > <html>
<html>
前两篇大体介绍了一下AVI以及其简单的使用方法。这里补充一下两个函数这个是大部分视频播放器会用到的函数,可是AVI把这两个參数藏得非常深,为了方便大家使用这里我就直接上代码,啥玩意你自己能够去看看凝视。注意这个两个函数是放在MoviePlayer类里面的,代码例如以下:
/// <summary> /// 获取视频总时长 /// </summary> /// <returns></returns> public float GetLastVideoTime() { if (movie == null) return 0.0f; return movie.demux.videoStreamInfo.lengthSeconds; } /// <summary> /// 获取视频总帧数 /// </summary> /// <returns></returns> public int GetLastVideoFrame() { if (movie == null) return 1; return movie.demux.videoStreamInfo.frameCount; }好了,接下来我们继续说说AVI的视频转化方式,AVI Player with Playmaker actions 这个插件我们能够从名字中大体了解到,这是专门播放AVI格式的一个插件,可是假设你以为是简单的使用格式工厂或者其它格式转化工具就能够使用那么你就大错特错了。
由于我已经使用过这样的方法了。利用格式工厂将MP4格式的视频转化成了AVI格式再名字后面改成bytes格式的方式是行不通的。所以打消你那个逗逼的想法吧!
AVI插件有两个自带的格式转化方式,那么放在哪里呢?一開始我也找了挺久的后来还是看代码才知道在哪,不废话直接上图片。例如以下图所看到的:
这里能够看的出来,AVI提供了两个转化格式的方法。这里我临时我仅仅会第一种方式。另外一种方式的转化会出现报错,我也去查过国外的资料临时还没有找到解决的方式,假设有人用过的话麻烦教教我怎么用吧~
接下来我们说说第一种转化格式。我们看到小括号中面写着(Uses FFMPEG)这个是啥意思。事实上就是作者给我们的一个提示,你去百度和谷歌后就会发现FFMPEG是一个将视频转化为流化音视频,我们先点开来看看这个界面有啥,如图所看到的:
注意假设没有正确配置FFMPEG红框位置,是会提示红色而且提示你缺少FFMPEG。所以我们接下来就要配置FFMPEG的环境,我们先去官网下载它的压缩包。官网地址:点击打开链接
然后解压到你想放置的盘里面,这里我放到了D盘的Begonia的文件夹下了,如图所看到的:
然后我继续往下走,在环境变量里面Path里面设置一下FFMPEG的路径。这里注意路径移动要指到bin文件下。大体例如以下图所看到的:
然后我们用管理身份执行CMD。输入命令“ffmpeg –version”。假设出现下图所看到的表示成功安装了:
然后我们回到unity3D继续进行视频转化,假设FFMPEG配置窗体就会像前面的所看到的一样,假设还是现实红色报错。那你就要推出unity3D又一次打开项目报错就会消失的了,方式还是挺简单的这里就不细讲了,我简单的讲一下大体使用方法就能够了。我们先去看看有哪些东西,如图所看到的:
Infile是你视频的位置。outfile是输出转化后的视频位置。Video开头的都是设置视频画面属性,要注意的是video resize这是设置视频输画面大小,默认是依照原来视频画面大小输出的,Audio开头是音频属性设置,后面两个属性看图来说,如图所看到的:
这是CMD的控制语句,也就表示假设你会FFMPEG也能够自己在编写视频输出属性。
后面两个属性看英文大体就会明确是什么意思。因此我们就不说了,最后的button也就运行button而已。到这里AVI视频转化基本讲完了。
接下来我们讲讲FFMPEG鸡肋的东西,假设不是这个鸡肋预计我会非常喜欢使用这个插件。
这个FFMPEG转化的视频基本没办法使用。为啥呢由于视频转化出来的大小太惊人了,我一个2分钟MP4格式视频转化出来竟然变成1G多原视频才6M左右,我心顿时各种草泥马,然后我慢慢的调试压缩在进来不影响画质的情况下也要132M,主要是video resize影响视频的大小,其它基本不会有太大影响,假设我使用1920x1080的画质视频能够飙升到4G。这是没办法使用到手机上的吧!
反正我们公司的破电脑跑不动,并且仅仅是一个2分钟而已的视频,我真不知道AVI作者怎么搞得,可能第二个转化方式不会怎么夸张的吧。这些就不是非常清楚了,等我查到第二个转化方式的时候我会第一时间告诉大家的。
假设那个大神有FFMPEG具体使用方式以及压缩方式。小弟这里跪求请教了~(假设还是疑问能够私信我。假设我会的话一定会帮你们解决这个问题的)
----Begonia
之前说要放出全部的播放插件的。差点忘了 链接:http://pan.baidu.com/s/1qYFxwZy password:kfav
<link rel="stylesheet" href="http://static.blog.csdn.net/public/res-min/markdown_views.css?v=1.0" />
- 本文已收录于下面专栏:
4条评论
相关文章推荐
-
使用ffmpeg库的初始化过程
先上代码片段(不过片段):int main(int argc, char **argv) { .... avcodec_register_all(); av_regis...- relar
- 2014-03-21 09:53
- 1132
-
UnityVR视频
转载:http://blog.csdn.net/yechen2320374/article/details/52121036需求:项目须要在vr设备(htc vive、pico、小π等...- qq_15807167
- 2016-08-20 19:06
- 1340
-
数据结构学习笔记(一) 双列表管理应用
在游戏中免不了须要对怪物进行动态的生成,死亡的时候要对其销毁,这样就是一个怪物的生命历程循环过程。假设依照一般的游戏设计方式,到了一定时间就进行怪物的刷新,假设每次都须要动态的new一个怪物出来,死亡...- begonia__z
- 2016-08-31 20:40
- 209
-
C# 垃圾回收机制
前几天在技术群里面有人提出一个非常有趣的问题。我想写出来帮助自己缕缕思路。帮助新人进行C#对内存管理进行简单解说。 ? 什么是垃圾回收机制,对于没有学过C++的同学可能不知道,由于C#并没有所谓的资源释...- begonia__z
- 2017-04-15 11:32
- 294
-
AVI Player with Playmaker actions 播放插件浅谈 (一)
近期公司准备接一个项目是要用到播放器的。并且这个播放器还要在移动端使用这样。Unity3D里面是有能够播放视频的功能,可是并没有快进和倒退这个功能。因此Unity3d的播放器插件还真不少最多人用过的大...
- begonia__z
- 2016-04-15 17:56
- 2325
-
AVI Player with Playmaker actions 使用UGUI显示视频以及控制播放视频 (二)
上一篇我们简介了AVI的MoviePlayer属性面板。感觉上一篇看不看都没所谓。可能你会认为这些并没神马卵用,仅仅能说每个人都有自己看代码的方式和爱好吧,像我一般喜欢从属性面板研究起,不说了扯远...- begonia__z
- 2016-04-18 14:05
- 2530
-
AVI Player with Playmaker (Unity视频播放插件)
1 Unity自身也有一套视频播的API,使用的是MovieTexture。今天我跟大家分享的是Unity的一款比較优秀的视频播放插件,既然是插件。那么肯定会留出一些调用的接口。因此这篇文章主要是告诉...- qq_15267341
- 2016-08-27 09:14
- 629
-
AVI Player with Playmaker actions 视频转化格式之Duplicate frame remover(四)
刚開始使用这个插件的时候一直找不到Duplicate frame remover的视频转化方式报错问题,昨天我细致查看了一下这个插件的Duplicate frame remover转化窗体发现有个地方...- begonia__z
- 2016-04-22 11:56
- 614
-
学习笔记(一) mysql + kbengine-0.8.2+U3D_demo具体搭建过程个人记录
近期在无意间得知KBEngine是一个开源以及能够支持U3D的一个服务。萌新我屁颠屁颠的跑去KBengine.org官方站点看怎么搭建一个server出来,因为我没有学习过mysql,所以花了非常多时间才正确...- begonia__z
- 2016-04-14 18:40
- 2144
-
Unity3D学习日记(三)贝塞尔曲线
这里有非常多小伙伴可能不知道啥事贝塞尔曲线是啥玩意。假设你用过PS的钢笔功能就知道这是啥,假设还是不知道这是啥那么说一个游戏你就知道了“愤慨的小鸟”这个游戏用到弹弓效果能够用这个贝塞尔曲线来实现。还不知...- begonia__z
- 2016-04-20 11:44
- 1549
- 原创
- 28
- 粉丝
- 7
- 喜欢
- 0
- GO学习日记(二)Visual Studio Code GO插件配置
- GO语言学习日记(一)Windows环境下配置Go语言
- C# 垃圾回收机制
- Unity3D Vuforia 脱卡时遇到问题
在线课程
- 【直播】机器学习&数据挖掘7周实训--韦玮
- 【套餐】系统集成项目管理project师顺利通关--徐朋
"); $("#originalurl").focus(); return false; } else if(!checkeURL(otherInfo)) { alert("请输入正确的原创文章地址。"); $("#originalurl").focus(); return false; } break; case ‘7‘: otherInfo = $("#report_other_content").val(); if (isComment && !otherInfo) { alert("请填写举报的详细原因。"); $("#report_other_content").focus(); return false; } if(!isComment){ if(!$("#report_description").val()){ alert("请填写举报的详细原因!
"); $("#report_description").focus(); return false; } } break; } if(!isComment){ if($("#report_description").val().length>30){ alert("举报原因最多仅仅同意输入30个字!
"); return false; } } var data = http://www.mamicode.com/{"#originalurl").val(), report_other_content: $("#report_other_content").val(), report_description: $("#report_description").val(), currentUserName: currentUserName, updatetime: "2017/8/8 16:54:12", blogUser: "raintungli" }; if(!isComment){//假设是举报文章 data.report_other_content = data.report_description; data.report_description = "1. 神经网络这是一个常见的神经网络的图:这是一个常见的三层神经网络的基本构成,Layer L1是输入层,Layer L2是隐含层"; } $.post(blog_address + "/common/report?
id=76583070&t=2", data, function (data) { if (data.result == 1){ SetError("感谢您的举报,我们会尽快审核!"); }else{ if (data.content) alert(data.content); } }); return false; }); $("#btnCloseReportDialog").click(function () { CloseDiv(); }); }); //提示后关闭方法 function SetError(error) { $("#btnCloseReportDialog").trigger("click"); alert(error); CloseDiv(); } //关闭方法 function CloseDiv() { $.removeMask(); $("#report_dialog").hide().html(""); return false; } //验证url function checkeURL(url){ return /^http(s)?
:\/\/([\w-]+\.)+[\w-]+/i.test(url); } </script>
v=89860593.js?
cdnversion=‘ + ~(-new Date() / 36e5)];</script>