2

这已在此处讨论过。使用 Java,我在 Tomcat 上为媒体库开发了 Web 服务。我想为流媒体添加功能,同时根据移动客户端对它们进行动态转码。我正在思考几个问题:

  1. 如何准确地流式传输文件(音频和视频)?我遇到了许多流媒体服务器 - 但我希望对来自 Tomcat 本身的代码做一些事情。我是否需要再安装一台服务器,即流媒体服务器,然后将流媒体请求从 Tomcat 重定向到该服务器?

  2. 动态转码真的是个好主意吗?静态转码意味着我们必须以“N”格式复制相同的文件——这会占用空间,我不想要。那么有出路吗?

  3. 是否可以“在转码时”流式传输数据...也就是说,我不想在转码完成后开始流式传输(因为它会引入延迟)-而是我想在转码后的数据字节产生时流式传输. 如果这是一个荒谬的要求,我深表歉意......我没有转码或流媒体的经验。

  4. 其他替代品,如 ffmpeg、Xuggler 和此处提到的其他技术- 它们是完成工作的更好方法吗?

我不想使用任何专有/基于成本的替代方案来实现这一目标,我也希望它能够在生产环境中工作。希望能在这里得到一些帮助...

非常感谢 !

4

2 回答 2

1

Red5 是另一种可能的解决方案。它是开源的,本质上是具有一些附加功能的 Tomcat。我不知道从 Tomcat 代码库的分裂发生的时间有多早,但基础知识都在那里(和源代码——所以你可以修补缺少的东西)。

Xuggler 是 ffmpeg 的库“前端”,与 Red5 配合得很好。如果您打算进行大量转码,您可能会在此过程中遇到此代码。

在这两个项目之间,您可以更改 A/V 格式并流式传输各种媒体。

于 2011-04-22T14:44:05.993 回答
0

除非你真的需要自己动手,否则我会推荐一个有良好社区支持的 OSS 项目。

对于您的问题:

1.) 这是标准空间与性能的权衡。您在生成哈希表和其他计算量大的操作时会看到同样的情况。如果空间是比处理器时间更大的问题,那么动态转码是您唯一的出路。

2.) 是的,您可以在转码过程中进行流式传输。VLC http://www.videolan.org/vlc/这样做。

3.)如果我是你,我真的会研究 VLC。

于 2011-03-16T15:49:18.753 回答