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

网站维护外包合同中铁十二局出国招工

网站维护外包合同,中铁十二局出国招工,建站重庆,中小企业网站制作塞尼铁克原库地址 https://gitcode.com/gh_mirrors/vi/VideoCompressor/overview 这个库用起来比较方便#xff0c;使用Android原生的MediaCodecmp4parser的方式进行压缩#xff0c;不用接入so库也不用适配cpu 问题 接口库后你会发现过时了#xff0c;所以你一阵捣鼓后你发现压缩…原库地址 https://gitcode.com/gh_mirrors/vi/VideoCompressor/overview 这个库用起来比较方便使用Android原生的MediaCodecmp4parser的方式进行压缩不用接入so库也不用适配cpu 问题 接口库后你会发现过时了所以你一阵捣鼓后你发现压缩正常但是输出文件没有声音问题是什么经过我一天的修改问题是因为你升级了mp4parser库他接入的是com.googlecode.mp4parser:isoparser:1.0.6不论你升级到什么版本都会出现没有声音的问题那是因为谷歌的问题在1.0.6后在编码的时候更加严格所以你不升级就ok了 真的不升级 随着时间的发展旧版本库无法满足需求性能各方面都是差异而且这是7年前的库了所以你必须升级那么怎么解决问题呢 分析问题 问题代码 在1.0.6库之前和之后主要的出现问题代码就在createMovie中的创建FileChannel的问题1.0.6支持你FileOutputStream.getChannel()这样创建但是1.0.6之后不可以这样这样就会导致音视频无法同步所以你需要更换创建方法new RandomAccessFile(destinationPath, rw).getChannel()其中destinationPath输出文件地址修改了这一行你会发现好了 其他解决思路 这个库的压缩思路 获取视频的track,然后利用MediaCodec对原视频进行解码 获取原视频的宽高、帧率等进行一定的比例缩放 在利用MediaCodec进行视频编码输出一个只有视频没有声音的文件 在利用相同的方式获取音频的track,然后读取音频读写 最后对音视频进行合并他是再同一个输出文件上读写的 完结 所以根据上面思路你完全可以分开 先利用MediaCodec对视频进行压缩输出到缓存目标文件A 在读取原文件的音频 合并两个文件输出到真正的目录B这里不可以和缓存目标文件A相同必须不同的文件 把思路简化下代码大概是这样是不是很简单其实思路就这么点代码 public static void appendMp4List(Context context, Uri sourcePath, String outPutPath) throws Exception {VideoInfo videoInfo VideoUtils.getVideoInfo(context, sourcePath);if (videoInfo null || videoInfo.width() 0 || videoInfo.height() 0) {return;}File tempFile VideoUtils.copyFileToCacheDir(context, sourcePath);ListTrack audioTracks new LinkedList();// 音频通道集合ListTrack videoTracks new LinkedList();// 视频通道集合for (Track inMovieTrack : MovieCreator.build(tempFile.getAbsolutePath()).getTracks()) {if (soun.equals(inMovieTrack.getHandler())) {// 从Movie对象中取出音频通道audioTracks.add(inMovieTrack);}if (vide.equals(inMovieTrack.getHandler())) {// 从Movie对象中取出视频通道videoTracks.add(inMovieTrack);}}Movie resultMovie new Movie();// 结果Movie对象[输出]if (!videoTracks.isEmpty()) {// 将所有视频通道追加合并writerVideo(tempFile,videoInfo,outPutPath);//压缩视频但这样输出的只有视频没有音频ListTrack resultVideoTrack MovieCreator.build(outPutPath).getTracks();for(Track videoTrack:resultVideoTrack){resultMovie.addTrack(videoTrack);}}if (!audioTracks.isEmpty()) {// 将所有音频通道追加合并resultMovie.addTrack(new AppendTrack(audioTracks.toArray(new Track[audioTracks.size()])));}Container outContainer new DefaultMp4Builder().build(resultMovie);// 将结果Movie对象封装进容器FileChannel fileChannel new RandomAccessFile(outPutPath, rw).getChannel();outContainer.writeContainer(fileChannel);// 将容器内容写入磁盘fileChannel.close();} 最终的优化有的代码查看github https://github.com/fzkf9225/mvvm-componnent-master/tree/master/commonmedia/src/main/java/pers/fz/media/videocompressor
http://www.dnsts.com.cn/news/105343.html

相关文章:

  • 怎么在百度上做推广上首页哪些网站可以做seo
  • 杭州网站案列广告推广一个月多少钱
  • 石河子做网站的公司网站积分解决方案
  • 免费网站提供制作触屏版网站开发
  • 网站开发工程师是做什么的郓城做网站
  • 东莞做企业宣传网站淘宝关键词排名查询工具免费
  • 中国建设银行宁夏分行网站外贸网站虚拟主机
  • 网站导航栏全屏怎么做搜索引擎优化涉及到内容
  • 唐山如何做百度的网站建设c2c网站有哪些?
  • 四川短视频seo优化网站网站建设开发的目的
  • 灵山招聘网灵山英才网做灵山专业的招聘网站百度网盟推广的定义
  • 建站宝盒视频好用的做微信公众号的网站
  • 蓝色的网站登录页面模版网页设计网站简单静态模板
  • 生活馆网站开发背景我想买个空间自己做网站
  • 自己做的网站403中国做网站知名的公司
  • 从网站栏目看网站功能网站弹出一张图怎么做代码
  • 做企业网站怎么备案查询网址在哪里查
  • 网站建站的步骤流程苏州市市政建设集团公司网站
  • 加强二级网站建设 招生汶上网站建设
  • 佛山优化网站方法网站关键词排名不稳定
  • 推广网站站群wordpress查询次数太多
  • 现在哪些行业需要建设网站得到app怎么样
  • 做的好点的外贸网站世界500强企业查询入口
  • 烟台专门做网站的婚恋网站策划
  • 做网站哪种语言好网站建设哪家有
  • 北京开发网站建设广州越秀区美食攻略
  • 免费建立个人视频网站济南行业网站开发
  • 网站开发有哪些方向黄骅港股票代码
  • 阿里云服务器做网站原神网页设计作业
  • wordpress网站数据库备份Wordpress需要更新吗