【问题标题】:Is it possible to stream live camera video via ffmpeg using ffserver?是否可以使用 ffserver 通过 ffmpeg 流式传输实时摄像机视频?
【发布时间】:2013-09-19 19:01:06
【问题描述】:
是否可以使用 ffserver 通过 ffmpeg 流式传输实时摄像机视频?
我正在考虑以下流程
1.使用ffserver编译构建ffmpeg。
2.通过MediaRecorder录制视频,直接发送到ffserver,通过rtp流式传输。
我想通过这种方式我将获得编码的音频和视频流,而 ffserver 将通过 rtp 将其流式传输。另一方面,任何播放器都可以播放流,即 VLC 播放器
谢谢,
苏雷什库马尔梅农
【问题讨论】:
标签:
android
android-ndk
video-streaming
ffserver
【解决方案1】:
它还不错,我真的不会使用 ffserver 有很多原因,其中一个是不必要的痛苦。我将从更容易设置的 live 555 开始。
就 ffmpeg 而言,有一些不错的开源播放器,我们最初是从 dolphin player 开始的,最近我们一直在发展自己的,但 Dolphin 是一个很好的例子。
您可以编译为霓虹灯优化的ffmpeg。
【解决方案2】:
应该是可以的。要为 Android 编译 ffmpeg 和 ffserver,这里有很多教程和脚本。
我建议您只为 Android 构建 ffmpeg,但由于这是一个可执行文件,因此很难在 Android 中正确运行它,因此您应该构建 libffmpeg 并在您的应用程序中使用它,然后将源提供给它您设置了正确的参数(请参阅 libffmpeg 文档和论坛和列表)。
那么你应该在另一台机器上运行 ffserver,这有 2 个原因:
1.如果你在你的安卓上运行它会耗尽电池寿命和互联网连接
2. 无论如何,你都可以从本地网络连接到它,所以在电脑上运行它,然后使用 vlc 连接到它。
如果您从未使用过 libffmpeg,这并不容易,但它应该可以工作。我还要提到 ffmpeg 流对 Android 和 NEON 处理器的优化不是很好。有替代方案,但先让它工作,然后再优化。
【解决方案3】:
在计算机而不是智能手机上设置ffserver 的另一个原因是带宽。
如果您的手持设备上有服务器,您将为每个客户端流式传输视频(尽管您可以通过多播对其进行优化)。
另一方面,如果您的服务器位于远程计算机上,您只需传送提要(一个流),然后由服务器处理分发。