如何将mjpeg流作为3gp或mp4格式的视频文件保存到android中的sdcard
我已将 mjpeg 流保存到 SD 卡作为 xxx.mjpeg 。但是,android 不支持 mjpeg 视频文件。那么我如何将 mjpeg 视频编码为 3gp 或 mp4 格式,然后将它们存储在 SD 卡上,最后,我可以在我的 Android 手机上播放 3gp 或 mp4 视频,提前谢谢。
i have saved the mjpeg stream to the sdcard as xxx.mjpeg .However, the mjpeg video file was not supported in android. so how could i encode mjpeg video into 3gp or mp4 format and then store them on sdcard ,at last ,i can play back the 3gp or mp4 video on my android phone ,thanks in advance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我不知道 mobo 的 ffmpeg 源的状态。我很久以前就建好了它。
我尝试了rockplayer的ffmpeg端口。这有无麻烦的构建。
我今天能够在 NDK_r4b 上成功构建它。
您可以从这里下载源代码:http://www.rockplayer.com/tech_en.html
修改 config.mk 以更改您的工具路径并运行 build_andriod.sh (拼写错误,但它有效:))
让我知道它是如何进行的
I am not aware of state of mobo's ffmpeg source out there. I had built it long back.
I tried the rockplayer's ffmpeg port. This has hassle free build.
I was able to build it today successfully on NDK_r4b.
You can download the source from here : http://www.rockplayer.com/tech_en.html
modify the config.mk to change your tool paths and run build_andriod.sh (spelling is wrong, but it works :) )
let me know how it goes
使用当前的 Android API 无法实现此目的。
您需要使用 C++ 中的编码器对帧进行编码,并通过 JNI 将位图传递给编码器。
您可以从 MoboPlayer 的 ffmpeg 端口开始。您可以在此页面底部找到其 ffmpeg 端口的下载链接(
如果您有)位图中的图像序列,您可以使用 AndroidBitmap_* 方法从 JNI 访问位图的缓冲区,并将其传递给 ffmpeg 进行编码
There is no way you can achieve this with current Android API.
You need to encode the frames using an encoder in C++ and pass your bitmaps to the encoder via JNI.
You can start with MoboPlayer's ffmpeg port. You may find the download link to their ffmpeg port at the bottom of this page
If you have the image sequence in Bitmaps, you can access the Bitmap's buffer from JNI using the AndroidBitmap_* methods and pass it on to ffmpeg for encoding