unity在linux环境下videoplayer 无法播放问题解决路径

1、问题

一个项目需要在linux下播放视频,并且视频在机器上,也就是要使用应用外的视频文件进行播放。

视频的格式当前提供的事avi格式,并且使用videoplayer 在windows下播放正常。

但是发出包之后再Ubuntu环境怎么都无法播放。

2、测试环境搭建

刚学unity没几天,为了帮忙解决这个问题,从来没用过videoplayer组件,这次需要搭建一个环境

2.1 创建一个Render texture

右键Assets文件夹或任意文件夹→CreateRender Texture纹理渲染

设置视频的分辨率,也就是视频的大小

2.2、创建image

直接创建一个raw image,并且将render texture 赋值给 Texture

增加videoplayer组件,并设置source为URL(因为要使用机器上的视频文件)

2.3、功能

为了方便控制,在界面上增加一个InputField 和 Text

Inputfield 用来输入路径

Text 显示路径

最终如下图

再写个控制脚本,挂载在Canvas

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.Serialization;
using UnityEngine.UI;
using UnityEngine.UIElements;
using UnityEngine.Video;
using Button = UnityEngine.UI.Button;public class PlayerVideo : MonoBehaviour
{// Start is called before the first frame updatepublic Button PlayBtn;public VideoPlayer vp;public InputField inputField;public Text text;void Start(){PlayBtn.onClick.AddListener(() =>{Application.Quit();});inputField.onEndEdit.AddListener(editFinish);}public void editFinish(string call){var textText = inputField.text;Debug.Log("-------->"+ textText);text.text = textText;playVideo();}public void playVideo(){vp.url = inputField.text;vp.Play();}// Update is called once per framevoid Update(){}
}

3、解决问题

3.1 猜测路径错误

最初猜测是路径错误导致的,查看官方文档

视频源 - Unity 手册

支持3种 :

  • 应用内:这个不符合需求,没测试
  • 本地地址,绝对地址,这个官方的例子file:///home/u1/abc.avi,播放不了,又测试了其他的格式,比如斜杠问题,路径放在附近等等,甚至改了访问权限。都不行!!!,心态崩了
  •  线上地址,将视频放在了线上,依然不能播放,失败,http://localhost:9009/video1_F60.avi

3.2 格式问题

官方文档:视频文件兼容性 - Unity 手册

官方其实说的蛮清楚的,无奈啊,信息都在那,没有视频的知识不太懂。

折腾了一圈路径问题之后,又回到这个文档。

准备拿着给的视频文件转下编码试试

工具:安装ffmpeg,不记得什么时候装的了,只记得装过,想不到今天派上用场了。

转为VP8:

ffmpeg -i input.mp4 -c:v libvpx -b:v 1M -vf "scale=640:360" output.webm

这会将输入视频文件(input.mp4)重新编码为VP8编码的WebM格式(output.webm)。-c:v libvpx选项告诉FFmpeg使用VP8编码器。-b:v 1M指定视频的目标比特率为1 Mbps,设置视频分辨率为640x360。你可以根据需要调整这个值。

将这个视频放到Ubuntu下居然能播放了,问题大概就算解决了。

4、其他的一些命令

这个命令会显示视频文件中第一个视频流的编码器。

ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of default=noprint_wrappers=1 <视频文件路径>

所谓的h264编解码,并不是直接将视频格式,通过h264编解码为视频原始数据流,这种说法是错误的,而是应该将视频格式转换为h264的数据流,然后对h264的数据流进行编解码,得到视频的原始数据流(也就是像素数据)

h264文件是压缩后的数据流文件

ffmpeg -i test.mp4 -c h264 test.h264

5、总结

1、知识背景很重要,没有知识背景,解决问题的办法放在那也不知道怎么解决

2、音视频的编码还是不太了解,需要学习下。

3、大胆猜测,小心求证

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/811964.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LDF、DBC、BIN、HEX、S19、BLF、ARXML、slx等

文章目录 如题 如题 LDF是LIN报文格式文件&#xff0c;把这个直接拖到软件里面&#xff0c;可以发报文和接收报文 DBC是CAN报文格式文件&#xff0c;把这个直接拖到软件里面&#xff0c;可以发报文和接收报文 BIN文件烧录在BOOT里面&#xff08;stm32&#xff09;&#xff0c…

开源无需授权2024最新同城上门预约家政按摩小程序+公众号H5+APP源码系统下载

2024最新同城上门预约家政按摩源码简介&#xff1a; 开源无需授权2024最新同城上门预约家政按摩小程序&#xff0b;公众号H5&#xff0b;APP源码系统下载&#xff0c;前端采用uni-app开发&#xff0c; 后端thinkphp框架开发。适配多端&#xff08;小程序&#xff0b;公众号H5&…

php反序列化(2)

一.pop链 在反序列化中&#xff0c;我们能控制的数据就是对象中的属性值&#xff08;成员变量&#xff09;&#xff0c;所以在php反序列化中有一种漏洞利用方法叫“面向属性编程”&#xff0c;即pop&#xff08;property oriented programming&#xff09;。 pop链就是利用魔…

不借助第三方工具打包QT程序

准备工作&#xff1a; 项目/可执行文件名&#xff1a;QTAppName 打包项目存放的文件名&#xff1a;pack&#xff08;这个文件名无所谓&#xff09; 脚本名&#xff1a; copylib.sh&#xff08;类似ldd命令&#xff09;&#xff1a;用于将.so库文件的依赖项复制并放入自动生…

vscode远程免密登录ssh

vscode远程免密登录ssh 1. 安装vscode2. 安装ssh3. 本地vscode配置免密登录远端开发机1. 本地配置秘钥2. 远程开发机配置秘钥 4. vscode常用小工具1. vscode怎么设置ctrl加滚轮放大字体 1. 安装vscode 2. 安装ssh 设置符号打开config配置文件&#xff0c;点击符号ssh连接新的远…

4. Django 探究FBV视图

4. 探究FBV视图 视图(Views)是Django的MTV架构模式的V部分, 主要负责处理用户请求和生成相应的响应内容, 然后在页面或其他类型文档中显示. 也可以理解为视图是MVC架构里面的C部分(控制器), 主要处理功能和业务上的逻辑. 我们习惯使用视图函数处理HTTP请求, 即在视图里定义def…

A complete evaluation of the Chinese IP geolocation databases(2015年)

下载地址:A Complete Evaluation of the Chinese IP Geolocation Databases | IEEE Conference Publication | IEEE Xplore 被引用次数:12 Li H, He Y, ** R, et al. A complete evaluation of the Chinese IP geolocation databases[C]//2015 8th International Conference…

2024年MathorCup数学应用挑战赛A题思路分析

文章目录 题目简介题目背景和重要性题目要求和目标 题目分析和解题思路理解PCI规划的基本原则PCI参考算法 建立数学模型定义决策变量建立目标函数确定约束条件唯一性约束&#xff1a;确保每个小区的PCI在整个网络中是唯一的。 设计优化算法目标函数分析约束条件分析问题规模分析…

客户端传日期格式字段(String),服务端接口使用java.util.Date类型接收报错问题

客户端传日期格式字段&#xff08;string&#xff09;,服务端接口使用java.util.Date类型接收报错问题 问题演示第1种&#xff1a;客户端以URL拼接的方式传值第2种&#xff1a;客户端以body中的form-data方式提交第3种 客户端以Body中的json方式提交 问题解决&#xff08;全局解…

softmax回归:多分类问题的解码器

随着人工智能技术的不断发展&#xff0c;分类问题在机器学习领域中的地位日益凸显。在众多分类算法中&#xff0c;softmax回归以其独特的优势和广泛的应用场景&#xff0c;成为了处理多分类问题的有力工具。本文将深入探讨softmax回归的原理、应用及其优缺点&#xff0c;以期为…

pytorch-多分类实战之手写数字识别

目录 1. 网络设计2. 代码实现2.1 网络代码2.2 train 3. 完整代码 1. 网络设计 输入是手写数字图片28x28&#xff0c;输出是10个分类0~9&#xff0c;有两个隐藏层&#xff0c;如下图所示&#xff1a; 2. 代码实现 2.1 网络代码 第一层将784降维到200&#xff0c;第二次使用…

ChatGPT基础(二) ChatGPT的使用和调优

文章目录 ChatGPT的特性采用关键词进行提问给ChatGPT指定身份提升问答质量的策略1.表述方式上的优化2.用"继续"输出长内容3.营造场景4.由浅入深&#xff0c;提升问题质量5.预设回答框架和风格 ChatGPT的特性 1.能够联系上下文进行回答 ChatGPT回答问题是有上下文的&…

uni-app web端使用getUserMedia,摄像头拍照

<template><view><video id"video"></video></view> </template> 摄像头显示在video标签上 var opts {audio: false,video: true }navigator.mediaDevices.getUserMedia(opts).then((stream)> {video document.querySelec…

【python】在pycharm创建一个新的项目

双击打开pycharm,选择create new project 选择create,后进入项目 右键项目根目录,选择new一个新的python file 随意命名一下 输入p 然后后面就会出现智能补全提示,此时轻敲一下tab,代码就写好了,非常的方便 右键执行一下代码,下面两个直接运行和debug运行都是可以的 小结 …

CentOS 8服务器搭建L2TP服务器(over IPsec)操作指南

正文共&#xff1a;1234 字 14 图&#xff0c;预估阅读时间&#xff1a;2 分钟 之前发过把我自己的服务器搬上公网的文章&#xff08;我用100块钱把物理服务器放到了公网&#xff0c;省了几万块&#xff01;&#xff09;&#xff0c;当时L2TP拨号用的是网络上的解决方案&#x…

微服务整合Spring Cloud Gateway动态路由

前置 创建 Spring Cloud项目 参考&#xff1a;创建Spring Cloud Maven工程-CSDN博客 1. 创建一个maven jar类型项目 在idea中右键父工程-》New-》Module 创建一个maven工程 2. 引入相关依赖 在POM文件中引入下面的依赖 <project xmlns"http://maven.apache.org/P…

C++设计模式|创建型 1.单例模式

1.什么是单例模式&#xff1f; 单例模式的的核⼼思想在创建类对象的时候保证⼀个类只有⼀个实例&#xff0c;并提供⼀个全局访问点来访问这个实例。 只有⼀个实例的意思是&#xff0c;在整个应⽤程序中&#xff0c;只存在该类的⼀个实例对象&#xff0c;⽽不是创建多个相同类…

【JAVA基础篇教学】第八篇:Java中List详解说明

博主打算从0-1讲解下java基础教学&#xff0c;今天教学第八篇&#xff1a;Java中List详解说明。 在 Java 编程中&#xff0c;List 接口是一个非常常用的集合接口&#xff0c;它代表了一个有序的集合&#xff0c;可以包含重复的元素。List 接口提供了一系列操作方法&#xff0c;…

72V电瓶电压降5V1.5A恒压WT7039

72V电瓶电压降5V1.5A恒压WT7039 WT6039是一款12V至72V宽电压降压DC-DC转换器芯片&#xff0c;集成了开关控制、参考电源、误差放大器等多重功能&#xff0c;并具备过热、限流和短路保护。它能在广泛输入功率下实现2A连续输出电流&#xff0c;并通过编程调整输出电压。适用于高…

文心一言

文章目录 前言一、首页二、使用总结 前言 今天给大家带来百度的文心一言,它基于百度的文心大模型,是一种全新的生成式人工智能工具。 一、首页 首先要登录才能使用,左侧可以看到以前的聊天历史 3.5的目前免费用,但是4.0的就需要vip了 二、使用 首先在最下方文本框输入你想要搜…