我最近使用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。我有以下问题:
答案 0 :(得分:0)
您的文件位于mp4容器中,并且已在某些预定义的编解码器中包含其流。 现在任何容器(不是专门的mp4)的大小将取决于压缩数据的压缩类型(松散编解码器)。这就是为什么您会看到不同格式的相同内容的不同大小。 还有其他参数会影响文件的大小,即帧速率,分辨率,音频比特率等。如果减少它们,则文件大小会变小。例如在youtube中,当带宽问题时,您可以选择以较低的速率播放视频。
但是,如果你选择这样做,你将不得不重新处理整个文件,并且由于你正在拆分容器,解码编解码器,应用过滤器(减少帧等),它将花费很多时间。 ,然后录制,然后再次复用。除非你有一些引人注目的用例,否则整个过程如果不值得额外的MB保存。
一种解决方案是使用功能更强大的计算机,但这又受到应用程序的架构/约束以限制使用功能强大的计算机的限制。要专门回答ffmpeg它不会有太大的区别。