android - Android 上的慢 avcodec_decode_video2、ffmpeg

标签 android performance ffmpeg decode

我正在使用 ffmpeg 在 Android 上开发播放器。但是,我发现 avcodec_decode_video2 非常慢。有时,从1920 × 1080分辨率的视频中解码一帧大约需要0.1甚至0.2秒。

如何提高 avcodec_decode_video2() 的速度?

最佳答案

如果您的设备具有必要的硬件+固件功能,您可以使用ffmpeg with libstagefright support .

更新:以下是决定是否值得在设备上针对给定类别的视频切换到 libstagefright 的简单过程:在 PC 上使用 ffmpeg 将代表性视频流转换为mp4:

ffmpeg -i your_video -an -vcodec copy test.mp4 

并尝试使用设备上的库存视频播放器打开生成的文件。如果视频确实以合理的质量播放,您可以将 libstagefright 与 ffmpeg 结合使用来改进您的播放器应用程序。如果您看到“无法播放视频”,则您的设备硬件+固件不支持该视频。

"Cannot Play Video" popup

关于android - Android 上的慢 avcodec_decode_video2、ffmpeg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20896319/

相关文章:

ffmpeg - 在 UWAMP 上安装 ffmpeg 等

java - 该设备每 1 分钟将位置坐标插入数据库

android - 使用 AsyncTask 在 android 中的选项卡之间导航时,进度对话框未正确显示

php - Codeigniter insert_batch() 函数性能和限制?

java - Hadoop 和重用可变可写字段

javascript - NodeJS - 寻找更快的方法来创建 FFMPEG 缩略图

java - Android fragment 和 findFragmentByTag()

android - 更新通知的 tickerText

Java 哈希集性能

ffmpeg 和 2 :35:1 aspect ratio