文档章节

MPV播放器的跨平台编译

几点人
 几点人
发布于 2017/09/04 11:18
字数 510
阅读 39
收藏 0
点赞 0
评论 0

环境准备

操作系统安装

安装Debian 9.1.0

创建系统用户

创建用户mpv

useradd -m -s /bin/bash mpv

安装系统工具包

运行以下命令

apt-get install build-essential checkinstall bison flex gettext git mercurial subversion ninja-build gyp cmake yasm nasm automake pkg-config libtool libtool-bin gcc-multilib g++-multilib libgmp-dev libmpfr-dev libmpc-dev libgcrypt-dev gperf ragel texinfo autopoint re2c asciidoc python-docutils rst2pdf docbook2x unzip p7zip-full

 

升级nasm到2.13

检测nasm版本

运行以下命令

nasm –version

如果版本低于2.13,就运行下一步,否则跳过以下步骤,直接调到修改hosts文件

修改/etc/apt/sources.list文件

在文件末尾添加下面一行

deb http://www.deb-multimedia.org stretch main

然后运行以下命令

更新包索引

apt-get  update

安装deb-multimedia的GPG key

apt-get install deb-multimedia-keyring

安装nasm

apt-get install nasm

编译阶段

这个阶段是以用户mpv操作运行的。

配置git相关变量

git init

git config --global user.name mpv

git config –global user.email mpv@216.com

编译脚本下载及修改

git clone https://github.com/shinchiro/mpv-winbuild-cmake mpv

cd mpv

修改脚本

修改脚本packages/angle-0002-install.patch中的

+       $(INSTALL) -d $(INCLUDEDIR)/{EGL,GLES{2,3},GLSLANG,KHR,platform}

为以下六行:

+       $(INSTALL) -d $(INCLUDEDIR)/EGL

+       $(INSTALL) -d $(INCLUDEDIR)/GLES2

+       $(INSTALL) -d $(INCLUDEDIR)/GLES3

+       $(INSTALL) -d $(INCLUDEDIR)/GLSLANG

+       $(INSTALL) -d $(INCLUDEDIR)/KHR

+       $(INSTALL) -d $(INCLUDEDIR)/platform

   然后运行

mkdir build-64

cd build-64

cmake -DTARGET_ARCH=x86_64-w64-mingw32 -G Ninja ..

构建编译mpv所用工具

ninja gcc

编译mpv

ninja mpv

补充说明

编译完成后,可在/home/mpv/mpv/build-64目录下生成了以mpv-x86_64-xxxxxxxx-git-和mpv-dev-x86_64-xxxxxxxx-git-开头的两个子目录(其中xxxxxxx代表的是当前日期,比如20170904,我们在windows下通过远程工具winscp把mpv-x86_64-xxxxxxxx-git-开头的目录整体下载到windows下就可以了。

如果在windows通过运行mpv来进行流媒体播放时,出现有声音,但图像时,可通过以下URL

http://mpv.srsfckn.biz/d3dcompiler.7z

下载d3dcompiler_43.dll,把这个文件拷贝到mpv.exe所在目录,然后运行就可以出图像了。

© 著作权归作者所有

共有 人打赏支持
几点人
粉丝 18
博文 1
码字总数 510
作品 0
广州
视频播放器 MPV 0.23.0 发布

局长
2016/12/27
2.8K
5
跨平台音乐管理中心--Kreogist Mu

Kreogist Mu 是一个使用Qt 5实现的一个跨平台音乐管理中心。在Windows和Mac OS X下以bass为播放后端,通过bass的插件支持多种类型的音乐格式播放。在Linux下以 MPV 作为播放后端,用户需自行...

東條・スペンサー・咲
2014/12/08
3.1K
12
如何在mac下安装MPV播放器?

前言: 为什么在mac os下安装的MPV 我就不解释了[自己看看(http://www.zhihu.com/question/19552878)。 mac系统下,常用的播放器有哪些?如果你看过这篇测评,就知道了mac 下有什么好用的视...

colorchen
2016/10/20
410
0
QtAV 1.4.2 发布,跨平台高性能音视频播放库

- 提高seek速度。要感谢wm4(mpv主力开发者)的指点 优化音视频同步逻辑,软解播放高分辨率高帧率视频完胜其他播放器。其他播放器几乎不能看,包括硬解,除了mpv+vaapi。以后将有更好的优化。...

LucasWang
2014/12/29
2.5K
4
Kreogist Mu 1.0.0 Beta 3 发布,跨平台音乐中心

Kreogist Mu 1.0.0 Beta 3 现已发布。此版本旨在集中解决用户之前反馈的一些影响使用体验方面的问题,并将在接下来的几个版本中继续完善用户体验效果。本次更新的内容如下: 1、新增在 64 位...

東條・スペンサー・咲
2017/07/24
612
3
Kreogist Mu 0.9.3 发布,跨平台音乐管理中心

Kreogist Mu 0.9.3 发布。此版本为常规更新版本,更新的内容有: 1、支持编辑ID3v1、ID3v2和APEv2标签。 2、支持播放器内对文件重命名。 3、增强GStreamer后端支持。 4、使用新的媒体库存取方...

東條・スペンサー・咲
2016/01/02
510
12
Kreogist Mu 1.0.0 Beta 5 发布,跨平台音乐中心

经过了几个月的等待,这一个版本终于发布出来了。此版本添加了若干可调整的选项以及修正了多个问题,具体的更新内容如下: 1、支持保存关闭时的播放状态; 2、支持修改全局字体; 3、支持更改...

東條・スペンサー・咲
2017/11/25
718
11
Kreogist Mu 1.0.0 Beta 4 发布,跨平台音乐中心

Kreogist Mu 1.0.0 Beta 4 现已发布。此版本旨在解决之前用户反馈到的多个问题,此后几周将暂停更新。本次更新的内容如下: 1、全面支持 Windows、Mac OS X 和 Linux 平台下高DPI的系统缩放适...

東條・スペンサー・咲
2017/08/07
550
0
QtAV 1.6.0 发布,跨平台高性能音视频框架

QtAV 1.6.0 发布,改进内容如下: - 性能最好的VDA解码器(OSX):现在VDA解码后无需拷贝直接渲染了,性能大幅提高。这个功能其他播放器早有了,但是QtAV用到了和它们不一样的输出格式,性能...

LucasWang
2015/04/24
3.1K
13
openSUSE日常使用

在Linux世界中有很多功能强大的软件,一般情况下我们应尝试使用源码编译安装方式,不过openSUSE提供了两种安装软件的简单方法: 管理工具 命令。 其中,YaST是图形化的管理工具,其功能强大以...

wqli
2016/12/20
21
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

MyBatis入门

一、安装 <dependency> <groupId>org.mybatis</groupId> <artifactId>mybatis</artifactId> <version>x.x.x</version></dependency> 二、从 XML 中构建 SqlSessionFactory String r......

一个yuanbeth
9分钟前
0
0
聊聊spring cloud的LoadBalancerAutoConfiguration

序 本文主要研究一下spring cloud的LoadBalancerAutoConfiguration RibbonAutoConfiguration spring-cloud-netflix-ribbon-2.0.0.RC2-sources.jar!/org/springframework/cloud/netflix/ribb......

go4it
12分钟前
0
0
【转】使用Lombok来优雅的编码

前言 Lombok 是一种 Java™ 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注解实现这一目的。 正文 添加依赖 在 pom.xml 文件中添加相关依赖:...

HAVENT
14分钟前
0
0
Dubbo 源码解读 —— 可支持序列化及自定义扩展

一、概述 从源码中,我们可以看出来。目前,Dubbo 内部提供了 5 种序列化的方式,分别为 fastjson、Hessian2、Kryo、fst 及 Java原生支持的方式 。 针对不同的序列化方式,对比内容如下: 名...

Ryan-瑞恩
22分钟前
0
0
MySQL内存设置—— MySQL server has gone away

set global max_allowed_packet=268435456

一梦心草
31分钟前
0
0
推导式

列表、集合和字典推导式 列表推导式是Python最受喜爱的特性之一。它允许用户方便的从一个集合过滤元素,形成列表,在传递参数的过程中还可以修改元素。形式如下: [expr for val in collect...

火力全開
36分钟前
0
0
maven配置文件settings.xml详解

settings.xml有什么用? 如果在Eclipse中使用过Maven插件,想必会有这个经验:配置settings.xml文件的路径。 settings.xml文件是干什么的,为什么要配置它呢? 从settings.xml的文件名就可以...

浮躁的码农
41分钟前
0
0
MakeCode图形化编程语言学习笔记:micro:bit编程练习题[图]

MakeCode图形化编程语言学习笔记:micro:bit编程练习题[图]: 基础训练题: Q1:摇晃micro:bit编程板,随机出现7个小动物图标中的一个,并且前后相邻两次出现的小动物不重复。 注:七个小动物...

原创小博客
41分钟前
0
0
Redis 压力测试说明

Redis 压力测试说明 redis压力测试 2014-03-24 21:41:07| 分类: 默认分类 | 标签:redis |举报|字号 订阅 这几天对比测试mongodb、redis、pg的性能,主要是在消息队列、消息处理、用户经纬度...

舒文joven
41分钟前
0
0
拉姆达表达式 追加 条件判断 Expression>

public static class PredicateBuilder {   /// <summary>   /// 机关函数应用True时:单个AND有效,多个AND有效;单个OR无效,多个OR无效;混应时写在AND后的OR有效   /// </summary...

Lytf
54分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部