0

我想实现以下目标:

设置代理服务器来处理来自远程视频服务器(如 YouTube、Vimeo 等)的客户端的视频请求(现在,比如说来自任何 Android 视频客户端的所有视频请求)。我无权访问所请求的视频文件,因此需要代理服务器。我已经解决了鱿鱼。此代理应处理从远程服务器传递的视频信号/流,然后再将其转发回请求客户端。

为了实现上述目标,我要么

1. 需要弄清楚被请求的视频资源的精确位置(URL),快速下载,并在转码继续进行 HTTP 流式传输回客户端之前根据需要对其进行修改(同时,有一些延迟)

2. 访问原始字节流,将其通过管道传输到转码器(我在想 ffmpeg),然后继续流向客户端(也有一些预期的延迟)。

选项 #2 似乎很难做到,但为我想要执行的那种转码提供了更大的灵活性。我必须实际处理原始数据/数据包,但我不知道 ffmpeg 是否接受这样的输入。

简而言之,我正在寻找一种解决方案来实现我无法从代理直接访问的视频的实时转码。关于我可以使用的工具或方法的任何建议?我也读过 Gstreamer(但不知道它是否适用于我的情况)和 MPlayer/MEncoder。

最后,一个相当具体的问题:是否有任何工具可以在给定 YouTube 视频 URL 的情况下下载字节流以进行进一步处理?也就是说,类似于 Chrome YouTube 下载器但可以与服务器端脚本集成的东西?

感谢您的任何指示/建议!

4

1 回答 1

0

你应该问单一的编码问题。您问的更像是一般的“如何编写我的应用程序”。不过有几点评论:

  • squid 是一个 http 代理,视频使用通常通过 rtsp 流式传输。
  • 是的,有一些工具可以从 youtube url 中获取 rtsp url,但在这样做之前一定要了解视频服务的使用条款。
  • gstreamer 有一个 gst-rtsp-server 模块,其中包含一个 rtsp 服务器,它也可以用作给定 rtsp 流的代理。
于 2012-09-09T19:05:13.537 回答