【发布时间】:2013-08-03 02:22:28
【问题描述】:
我正在尝试将本地/静态输入文件(例如 MP4)编码为较小的视频文件(通过调整大小、质量较差的视频等)并并行流式传输(即,我等不及编码过程完成后再将其流回),因此它可以由 Android 客户端(标准的 Android 视频播放器)播放。
所以我尝试使用 ffmpeg 如下:
ffmpeg -re -i input.mp4 -g 52 -acodec libvo_aacenc -ab 64k -vcodec libx264 -vb 448k -f mp4 -movflags frag_keyframe+empty_moov -
请注意,我使用 stdout 作为输出,因此我可以运行 ffmpeg 并即时流式传输其输出
但是,这些方法(和其他类似方法)似乎不适用于 Android - 一旦收到“非标准”文件(例如碎片化的 MP4),它就不能简单地播放它 - 似乎空的 moov atom 搞砸了。
我还尝试了其他容器格式,例如 3GPP 和 WebM。
我很想听听关于这个问题的任何意见...
谢谢
【问题讨论】:
标签: android ffmpeg video-streaming mp4 video-encoding