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

news2024/11/23 20:14:38

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 update

    public 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 frame
    void 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.coloradmin.cn/o/1588610.html

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

相关文章

ThingsBoard通过MQTT发送属性数据

MQTT基础 客户端 MQTT连接 属性上传API 案例 MQTT基础 MQTT是一种轻量级的发布-订阅消息传递协议&#xff0c;它可能最适合各种物联网设备。 你可以在此处找到有关MQTT的更多信息&#xff0c;ThingsBoard服务器支持QoS级别0&#xff08;最多一次&#xff09;和QoS级别1&…

强大的数据分析计算软件:Stata 15 for Mac 激活版

Stata 15 for Mac是一款高级统计分析软件&#xff0c;具有强大的数据管理和数据提取工具。以下是其功能和特点的详细介绍&#xff1a; 软件下载&#xff1a;Stata 15 for Mac 激活版版下载 数据管理&#xff1a;Stata 15 for Mac支持多种数据库、数据格式和计算机语言&#xff…

Python实现BOA蝴蝶优化算法优化随机森林回归模型(RandomForestRegressor算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 蝴蝶优化算法(butterfly optimization algorithm, BOA)是Arora 等人于2019年提出的一种元启发式智能算…

Vue - 你会在同一个元素上使用v-for和v-if吗

难度级别:初级及以上 提问概率:50% 在初学者看来,v-for和v-if同时使用是非常方便的,二者共同使用的常见场景有两种。例如有两个列表,分别用于渲染学生数据和老师数据,然后有两个单选按钮,用于切换当前页面中需要展示学生列表还是老师列…

SQL单表查询(2)

对查询结果排序 ◆使用ORDER BY子句 – 可以按一个或多个属性列排序 – 升序&#xff1a;ASC&#xff1b;降序&#xff1a;DESC&#xff1b;缺省值为升序 ◆ 当排序列含空值时 – ASC&#xff1a;排序列为空值的元组最后显示 – DESC&#xff1a;排序列为空值的元组最先显…

2024年会计、审计、财务与经济管理国际会议(ICAAFEM2024)

2024年会计、审计、财务与经济管理国际会议&#xff08;ICAAFEM2024&#xff09; 会议简介 2024年国际会计、审计、财务和经济管理会议&#xff08;ICAAFEM2024&#xff09;将在云南省昆明市举行。会议旨在为从事“会计、审计、财务、经济管理”研究的专家学者提供一个平台&am…

web安全-SSH私钥泄露

发现主机 netdiscover -r 192.168.164.0 扫描端口 看到开放80和31337端口都为http服务 浏览器访问测试 查看80端口和31337端口网页和源代码并无发现有用信息 目录扫描 扫描出80端口并无有用信息 扫描31337端口 发现敏感文件robots.txt和目录.ssh 访问敏感文件和目录 /.ss…

重磅,新GPT-4-Turbo重新夺回大模型第一名

好消息&#xff0c;新版 GPT-4 Turbo 今天开始现已向所有付费 ChatGPT 用户开放。GPT-4 Turbo提高了写作、数学、逻辑推理和编码能力。上下文长度128k 输出速度更快。现在已经开始陆续推送&#xff0c;如果你发现你的知识库截止时间是2024年4月&#xff0c;那么就是最新版本了&…

使用 Python 标记具有相同名称的条目

如果大家想在 Python 中标记具有相同名称的条目&#xff0c;可以使用字典&#xff08;Dictionary&#xff09;或集合&#xff08;Set&#xff09;来实现。这取决于你们希望如何存储和使用这些条目。下面我将提供两种常见的方法来实现这个目标。 1、问题背景 在处理数据时&…

抽象的算法0.1.1版本

前言&#xff1a;在0.1版本中&#xff0c;我们得到了可迭代的超级模板&#xff0c;问题简单化 最近看到一本十分厉害的电子书&#xff0c;其中两句话让我虎躯一震&#xff0c;这就是大佬的思维&#xff01; 第一句话&#xff1a;数学是用来描述万物本质的语言&#xff0c;是理…

MR-J4W2-77B 三菱伺服放大器2轴一体(750W型)

MR-J4W2-77B 三菱伺服放大器2轴一体&#xff08;750W型&#xff09; MR-J4W2-77B用户手册、MR-J4W2-77B外部连接 MR-J4W2-77B参数说明&#xff1a;2轴一体SSCNETⅢ/H接口型、0.75kW用、三相或单相AC200V~240V 三菱伺服放大器MR-J4W2-77B的详细规格说明&#xff1a; [输出] …

品牌发言稿怎么写?媒介盒子分享

品牌发言稿的重要性不言而喻&#xff0c;它不仅代表着品牌形象&#xff0c;更是沟通品牌与消费者、合作伙伴的桥梁。如何撰写一篇高质量的品牌发言稿&#xff0c;成为许多品牌关注的焦点。今天媒介盒子来和大家聊聊&#xff1a;品牌发言稿怎么写。 一、 发言稿写作技巧 1.结构…

《编程之选:兴趣引导还是职业规划?探索程序员生涯的双重驱动力》

在数字化浪潮席卷全球的今天&#xff0c;程序员作为一种极具创新力与影响力的群体&#xff0c;已成为许多人心目中理想的职业选择。然而&#xff0c;究竟是出于对编程的纯粹热爱&#xff0c;还是出于对职业发展的深思熟虑&#xff0c;才让人们踏上这条充满挑战与机遇的道路呢&a…

js打印页面源码 ,打印选取的容器里的内容,打印指定内容

js打印页面源码 &#xff0c;打印选取的容器里的内容&#xff0c;打印指定内容 效果 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge&…

Amazon Bedrock 实践系列 | Claude 3 深度探秘

生成式 AI 和大模型在 2024 年已经进入落地实践阶段。因此&#xff0c;围绕开发者在生成式应用程序开发中的主要痛点和需求&#xff0c;我们组织了这个 “Amazon Bedrock 实践” 的系列&#xff0c;希望可以帮助开发者高效地上手生成式 AI 和大模型的应用开发。本篇为第二篇&am…

前端CSS讲义1

什么是 CSS? CSS 指层叠样式表 样式定义如何显示 HTML 元素 样式通常存储在样式表中 把样式添加到 HTML 4.0 中&#xff0c;是为了解决内容与表现分离的问题 外部样式表可以极大提高工作效率 外部样式表通常存储在 CSS 文件中 多个样式定义可层叠为一 样式对网页中元素…

SAP 计划策略82简介

前面的文章中我们已经测试了很多才策略,10、11、40、50、70、60、63 80策略。 本文将重点说明ATO模式下82策略的使用场景,计划策略82是SAP提供的另一种基于按单生产思想的计划策略,由客户的需求来直接驱动直接生产,是一个按单生产的场景。 1、首先我们先看下系统后台82策略…

一篇文章带你了解1688超级工厂、牛头标志、诚信通

1688涵盖了各个行业的优质供应商&#xff0c;今天这篇文章带大家深入了解1688超级工厂、实力商家、诚信通年限这3种标识分别代表的意义&#xff0c;帮助各位商家在电商选品选择供应商时有更加清晰的判断。 一、1688超级工厂 超级工厂是具备生产能力和技术实力的工厂型商家的专…

【JavaWeb】Day38.MySQL概述——数据库设计-DQL(一)

数据库设计——DQL 介绍 DQL英文全称是Data Query Language(数据查询语言)&#xff0c;用来查询数据库表中的记录。 查询关键字&#xff1a;SELECT 查询操作是所有SQL语句当中最为常见&#xff0c;也是最为重要的操作。在一个正常的业务系统中&#xff0c;查询操作的使用频次…

为什么越来越多的网工运维转行网络安全?

最近越来越多的网工运维小伙伴都在吐槽&#xff1a;干网工、运维多年&#xff0c;薪资还是5.6K&#xff0c;技术也遇瓶颈上不去&#xff0c;考虑转岗或者转行。其中大部分的网工运维小伙伴们纷纷瞄准了高薪高前景的网络安全工程师岗位 网络安全是怎样的岗位&#xff1f; 人才…