ffmpeg-metadata-retriever(FMMR) 和 Ijkplayer 都是基于 ffmpeg, 因此应该能够合并两个项目。

果不其然, 将 FMMR 的 jni 源文件复制到 ijkplayer-android-ff4\ijkmedia\metadata 下, 参照 ijkplayer 的其他模块改写 FMMR 的 android.mk, 很容易就把库文件编译了出来。Ijk 的结构很科学,易于扩展。

嫁接在 ijkplayer 上的 FMMR 仅仅 50 kb 而已。

要说为什么需要 FMMR, 其实如今的安卓机大概不需要了, 只是以前的一些,比如 knidle hdx 7,系统自带的 metadata-retriever 并不能取得缩略图,这个时候就需要 FMMR。配合 Glide 来自定义模块,用起来极为方便。

还有一点就是,FMMR 可能比原生快一点。

github/Ijkplayer-metadata-retriever

最近遇到 ffmr+ffmpeg3.4 崩溃的 bug,已解决,记录一下。

https://github.com/wseemann/FFmpegMediaMetadataRetriever/issues/219

if(s->video_st->codec->pix_fmt==-1)s->video_st->codec->pix_fmt=0;

可能是 -1 的含义发生了变化吧。

合并 Ijkplayer 和 ffmpeg-metadata-retriever相关推荐

  1. python调用ffmpeg合并_用ffmpeg命令处理mp4剪切与合并

    1. 剪切: ./ffmpeg -ss 00:00:06 -t 00:00:12 -i input.mp4 -vcodec copy -acodec copy output.mp4 意思是从截取从6秒 ...

  2. java ffmpeg 合并视频_android ffmpeg视频剪切与合并

    android-ffmpeg-java-demo 说明 以前一直希望可以做一个播放器,所以当时就接触了ffmpeg这个库,当时打算使用JNI的方式进行底层的调用,无奈整个逻辑比较麻烦,因此进度一再搁浅 ...

  3. ijkplayer使用ffmpeg为视频添加水印avfilter_graph_parse_ptr返回Invalid data found when processing input

    在确定代码逻辑和流程没有问题过后返回这个问题,通过多方验证确定是avfilter_graph_parse_ptr第二个参数导致的,此处我的输入参数是 const char *strFilter=&qu ...

  4. 基于ijkplayer封装ffmpeg播放器的录屏实现

    关于ijkplayer我自己提出的issue的https://github.com/Bilibili/ijkplayer/issues/1166的一个小总结,还先不要期望我有完整代码给出,如果只想知道 ...

  5. ffmpeg webm 提取_ffmpeg简单使用教程 转码、压制、提取、截取、合并、录屏等

    1.查看帮助文档 ffmpeg是一个开源的音视频转码工具 本文是自己学习ffmpeg使用方式的一个笔记 将ffmpeg命令行工具加入环境变量之后,输入ffmpeg -h打印帮助文档 PS C:\Use ...

  6. 使用ffmpeg裁剪和合并视频

    剪切视频 使用 -ss 和 -t 选项,从第0秒开始,向后截取31秒视频,并保存 ffmpeg -ss 00:00:00 -i video.mp4 -vcodec copy -acodec copy ...

  7. linux ffmpeg加速和合并视频命令

    视频处理成2倍速: ffmpeg -i old.mp4 -vf "setpts=0.5*PTS" new.mp4合并视频: ffmpeg -i 1.mp4 -vcodec copy ...

  8. 【ffmpeg】——批量合并视频

    最近在做一个项目,关于视频下载的,需要同时对多个视频进行处理,这时我们用到了一个工 具--ffmpeg,工具具体的安装步骤大家可以度娘,在这就不一一介绍啦. 下面进入正题,该如何使用ffmpeg工具进 ...

  9. ffmpeg——同时剪辑多个视频并合并

    关于ffmpeg的介绍可以参看:FFMPEG视音频编解码零基础学习方法 官网:https://ffmpeg.org/download.html 目录 基本语法 功能需求 代码实现 效果展示 基本语法 ...

最新文章

  1. 一文读懂机器学习“数据中毒”
  2. git pull报“unable to update local ref”解决方案
  3. php包含文件时显示空白页,php中出现空白页的原因及解决方法汇总_php技巧
  4. 动态规划(斜率优化):BZOJ 3675 [Apio2014]序列分割
  5. IOS基础之NSString,NSMutableString,NSArray的基本使用
  6. 峰Redis学习(8)Redis 持久化AOF方式
  7. 【★★★★★】提高PHP代码质量的36个技巧
  8. IMCASH:2019年区块链不会风平浪静,至少还有10件事值得期待
  9. 【CF1333C】Eugene and an array(子区间计数)
  10. c语言二fseek从文件头移动_C语言fseek函数
  11. CDliux--minidwep 无线密码渗透测试
  12. xd使用技巧_adobe xd高级技巧
  13. 手把手教你用frp内网穿透
  14. java 延时队列_Java实现简单延迟队列和分布式延迟队列
  15. AjaxPro.Utility.RegisterTypeForAjax()的作用 AjaxPro第三方控件
  16. Veins源码阅读—connectionManager模块
  17. Win7系统IE浏览器提示网站还原错误怎么解决?
  18. html让矩形居中,css如何实现水平居中?
  19. 德邦快递接口开发-java(问题简集)
  20. FreeRTOS记录(七、FreeRTOS信号量、事件标志组、邮箱和消息队列、任务通知的关系)

热门文章

  1. oppo a115k java,oppoA115k
  2. 识别视频声音内容添加字幕
  3. 我的共轴双旋翼无人机
  4. leetcode-1319:连通网络的操作次数
  5. 效率与便捷兼备,大数据可视化软件操作指南
  6. 仿天猫 java web_JAVA WEB项目教程-模仿天猫J2EE版
  7. MQTT接入联通格物平台
  8. php洋葱模型,【区块链安全】区块链安全性的洋葱模型
  9. Python通过PyPDF3给pdf加密,加权限
  10. 芒果tv不能用html5,芒果TV使用过程中的常见问题