当前位置: 首页 > wzjs >正文

太原建站服务软文标题例子

太原建站服务,软文标题例子,江苏城乡建设官网,外贸平台哪个网站最好不收费windows平台的ffmpeg编译使用 一、现状 本人使用libgdx开发galGame,发现扩展包gdx-video不支持mp4,不能忍,正好看到官网有支持自定义编译的文档,所以操作一下,自定义编译。本文重点在于操作windows平台,linux平台太简单了。 整个过程包括如下几个步骤。 二、代码下载…

windows平台的ffmpeg编译使用

一、现状

本人使用libgdx开发galGame,发现扩展包gdx-video不支持mp4,不能忍,正好看到官网有支持自定义编译的文档,所以操作一下,自定义编译。本文重点在于操作windows平台,linux平台太简单了。

整个过程包括如下几个步骤。

二、代码下载以及配置调整

1)gdx-video代码克隆,导入idea

2)部分配置微调

代码下载之后,参考readme,知道要生成jni文件,但是libgdx的jni用的是自己封装的操作,似乎是从java源码和c代码,生成中间层(包含jni头文件的)代码。

在这里插入图片描述

在最外层我这边修改了,下面几个配置

gdxVersion=1.12.1 和我目前使用的libgdx配套
version=1.5.5  自定义一个版本,打包使用该版本

最外层的build.gradle

//这个地方直接写死我的本地maven仓库地址,因为LOCAL_REPOSITORY_URL配不配置目前区别不大
getLocalRepositoryUrl = {return "file://E:/maven/m1";/*project.hasProperty('LOCAL_REPOSITORY_URL') ? LOCAL_REPOSITORY_URL: 'file://' + new File(System.getProperty('user.home'), '.m2/repository').absolutePath*/}

gdx-video-desktop项目下面的

build.gradle放开注释,这一行就是开启ffmpeg h264解码器的编译选项

                 args '--enable-demuxer=mov', '--enable-decoder=aac', '--enable-decoder=h264', '--enable-decoder=hevc'

3)子项目初始化

之前没注意FFmpeg有个子项目在拉取代码的地方使用git指令git submodule init update

4)jni中间层代码生成

参考readme

需要使用下面指令中的jnigenBuild

`:gdx-video-desktop:buildFFmpeg{platform}{arch}`
and `:gdx-video-desktop:jnigenBuild{platform}{arch}`.
gradlew.bat gdx-video-desktop:jnigenBuildwindows64 
也可以直接在idea右边,gradle界面操作,直接生成所有的

此时会在jni目录生成胶水代码。下图有色红线为idea界面操作,直接执行gradle命令,左边为生成的文件,其中build.xml一些列的xml是ant的构建脚本(ant构建工具,可以构建java、c++登项目),里面其实就是一些编译的配置,坐下红圈就是生成jni胶水代码,这部分代码主要就是和jni交互,真实调用ffmpeg的代码逻辑基本都在jni目录的c++代码上线。

在这里插入图片描述

上图注意到报错,是因为我本地没有安装ant。这里可以安装一下ant,直接在界面或者命令行执行ant.bat build,发现也会报错,这个等下再说。

三、FFMpeg编译

1)gradle一键编译打包失败原因分析

上文在使用gradle进行一系列操作,发现直接使用gradle命令是不行的,原因如下

1.本地没有ant

2.安装完ant,ant会调用命令执行FFMpeg源码下面的configure文件,我本地有各种c++编译工具,但是configure是linux下面的,windows无法执行

3.在配置完msys2(模拟linux),发现能在命令行执行configure命令了,但是还会报错,又发现原因是,gradle的 project.exec其本质实现是调用cmd或者shell命令去实现的,cmd命令并没有相应的环境变量,所有该路失败

4.linux下面这些操作应该很简单,但是windows如何是java调用命令行代码环境变量,甚至使用的是msys的命令行,有待研究

2)编译参数获取

gdx-video-desktop下面的build.gradle有一段脚本

tasks.register("buildFFmpeg$buildName") {doFirst {mkdir buildDirString[] crossArgs = []def crossPrefix = checkCrossPrefix(crossToolchain)if(!crossPrefix.isEmpty()) {
http://www.dtcms.com/wzjs/325464.html

相关文章:

  • 全案营销的案例及成功案例优化网站推广教程排名
  • 美团网网站建设 费用北京厦门网站优化
  • 成都网站建设服务商百度seo搜索引擎优化培训
  • 网站建设 产品拍照seo关键词怎么优化
  • 长沙公司做网站百度平台商家订单查询
  • 色彩搭配 网站企业宣传软文
  • dw网站根目录怎么做网店如何营销推广
  • 动态网站开发2017_2018营销型企业网站建设的内容
  • 网站制作需要多少钱一年seo网站优化课程
  • 知春路网站建设网上销售平台有哪些
  • 创新的宁波网站建设seo的关键词无需
  • 怎么在自己做的网站上发视频教程seo优化师
  • 微信小程序api文档广西seo优化
  • 网站预算怎么做苏州seo优化
  • 网站定制开发流程和功能搜索引擎营销的特征
  • 免费网站空间可上传网站排行榜哪个网站最好
  • 调兵山网站建设网站制作优化
  • 如何用kali做网站渗透阿里巴巴官网
  • 重庆做seo网站优化选择哪家国家认可的教育培训机构
  • 我想采集散文 做网站网址浏览大全
  • ppt模板下载的网站市场监督管理局官网入口
  • 如何提升网站用户体验做网络推广费用
  • 各大房产网站怎么投放广告是最有效的
  • 娱乐网站名字google免费入口
  • 西安教育类网站建设公司什么搜索引擎搜索最全
  • 阿里巴巴外贸平台怎么样优化百度搜索
  • 宁波自适应网站建设特点seo排名方案
  • 18g网站空间seo网站关键词排名快速
  • wix怎样做网站附近学电脑培训班
  • 信阳做网站 汉狮网络如何写市场调研报告