如何更快地压缩android中的视频?

时间:2017-04-20 20:39:19

标签: android ffmpeg video-compression

我最近使用ffmpeg library for android来压缩长度为10秒且大小接近25 MB的视频。以下是我尝试使用的命令:

result.push_back(v);

OR

ffmpeg -i /video.mp4 -vcodec h264 -b:v 1000k -acodec mp2 /output.mp4

这两个命令都太慢了。我在完成任务之前取消了这项任务,因为它耗费了太多时间。花了超过8分钟来处理20%的视频。时间对我来说非常关键,所以我不能选择ffmpeg。我有以下问题:

  • 命令有问题或者ffmpeg还是慢吗?
  • 如果它的速度很慢那么还有其他记录良好且可靠的视频压缩方式/库我可以在android中使用吗?

1 个答案:

答案 0 :(得分:0)

您的文件位于mp4容器中,并且已在某些预定义的编解码器中包含其流。 现在任何容器(不是专门的mp4)的大小将取决于压缩数据的压缩类型(松散编解码器)。这就是为什么您会看到不同格式的相同内容的不同大小。 还有其他参数会影响文件的大小,即帧速率,分辨率,音频比特率等。如果减少它们,则文件大小会变小。例如在youtube中,当带宽问题时,您可以选择以较低的速率播放视频。

但是,如果你选择这样做,你将不得不重新处理整个文件,并且由于你正在拆分容器,解码编解码器,应用过滤器(减少帧等),它将花费很多时间。 ,然后录制,然后再次复用。除非你有一些引人注目的用例,否则整个过程如果不值得额外的MB保存。

一种解决方案是使用功能更强大的计算机,但这又受到应用程序的架构/约束以限制使用功能强大的计算机的限制。要专门回答ffmpeg它不会有太大的区别。