我是 live555 媒体服务器的新手,但我正在尝试将其用作 Backbone ,以使用 android 作为客户端开发一个简单的视频和音频流服务器。我一直在拼命测试,并设法用扩展名为 .264 的 H.264 编码一个简单的测试视频,并使用完整的 live555 媒体服务器将其流式传输到手机。这个问题是:我从原始 avi 记录构建了 .264 文件并大大降低了它的规范,使 fame 大小为 320X240,比特率和帧率非常低。我真的希望我的系统能够流式传输 live555 目前不支持但 android native 支持的任何 mp4 文件。
我可以在不太了解编码或流媒体的情况下将这种格式实现到 live555 代码中吗?如果这对我来说不可能,请告诉我接下来要采取的步骤。我很确定根据服务器的请求尝试将 mp4 编码为原始 .264 文件与正确答案相去甚远,但 atm 它是我可以流式传输的唯一格式。任何帮助或指导将不胜感激。
最佳答案
由于 Android(取决于版本)和 Live555 支持不同的编解码器集。
例如,如果您使用的是 Android 2.2;
- MPEG_4、H263、H264、THREE_GPP
Live555(截至 2011.03.14 来源)
- MPEG传输流文件(文件名后缀为“.ts”)
- MPEG-1 或 2 节目流文件(文件名后缀为“.mpg”)
- MPEG-4 视频基本流文件(文件名后缀为“.m4e”)
- H.264 视频基本流文件(文件名后缀为“.264”)
- DV视频文件(文件名后缀为“.dv”)
- MPEG-1 或 2(包括第 III 层 - 即“MP3”)音频文件(文件名后缀为“.mp3”)
- WAV (PCM) 音频文件(文件名后缀为“.wav”)
- AMR音频文件(文件名后缀为“.amr”)
- AAC(ADTS格式)音频文件(文件名后缀为“.aac”)
如果你不太了解编码,我建议你使用ffmpeg用于将一种格式转码为另一种格式的库。
关于Android 和 Live 555 媒体兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5480009/