【问题标题】:Decrease video(.mp4 file) size without losing its quality in android减小视频(.mp4 文件)的大小而不损失其在 android 中的质量
【发布时间】:2015-03-13 09:17:33
【问题描述】:

我的 SDCard 中有一个视频 (.mp4) 文件,我想减小 .mp4 文件的大小并将此文件上传到服务器。

【问题讨论】:

  • 文件大小和质量成反比。 Mp4 已经被压缩了。我认为没有办法在不降低质量的情况下显着减小文件大小。
  • 您有任何解决方案,只需要减小文件大小,不必担心质量问题。有的话可以分享给我。
  • 您想在 Android 中以编程方式减少它?
  • 是的,我想在 Android 中以编程方式减少它。
  • 我自己没有这样做,但是当我在谷歌搜索“以编程方式压缩视频 android”时,我得到了很多其他人有类似问题的结果。有许多解决方案的建议。尝试其中一些。如果它们都不起作用,那么用您尝试过的方法以及为什么它不起作用来更新您的问题。这可能会引起知道如何做的人的注意。

标签: android video


【解决方案1】:

一种方法是使用 ffmpeg。

在 Android 程序中使用 ffmpeg 有几种方法:

  • 使用 JNI 直接从 c 中使用本机库
  • 使用为“ffmpeg”命令行实用程序提供包装器的库(也在包装器库中使用 JNI)
  • 在您的 Android 应用程序中通过“exec”调用 ffmpeg cmd 行

在这三个中,我个人过去曾使用过包装器方法,发现它运行良好。恕我直言,本机库提供的文档和示例代表了相当陡峭的学习曲线。

请注意,如果您确实使用了“exec”,则需要注意一些事项 - 请参阅此答案的底部:https://stackoverflow.com/a/25002844/334402

包装器确实有限制 - 本质上,ffmpeg 命令行工具不打算以这种方式使用,您必须牢记这一点,但它确实有效。 github上有一个示例项目,它似乎有一个合理的用户群——我自己没有使用它,但我确实参考了它并发现它很有用,特别是对于如果你需要调用你的ffmpeg包装器会发现的问题不止一次来自同一活动或任务:

有关“两次调用 ffmpeg”解决方案的更多细节,请参阅此答案(以及问题和答案的一部分):

【讨论】:

    猜你喜欢
    • 2015-04-10
    • 2020-10-11
    • 1970-01-01
    • 2016-02-22
    • 1970-01-01
    • 1970-01-01
    • 2021-12-18
    • 2016-02-04
    • 1970-01-01
    相关资源
    最近更新 更多