捕获原始视频字节流以进行实时转码

时间:2012-09-06 22:36:31

标签: ffmpeg video-streaming gstreamer squid

我想实现以下目标:

设置代理服务器以处理来自YouTube,Vimeo等远程视频服务器的客户端(目前来自任何Android视频客户端的所有视频请求)的视频请求。我无法访问视频文件被请求,因此需要代理服务器。我已经选择了鱿鱼。此代理应处理从远程服务器传递的视频信号/流,然后再将其中继回请求客户端。

要实现上述目标,我要么

1。需要弄清楚所请求的视频资源的精确位置(URL),下载速度非常快,并在HTTP将其重新传输回客户端之前进行修改,因为转码会继续(同时,有一些延迟)

2。访问原始字节流,将其传输到代码转换器(我在想ffmpeg)并继续流式传输到客户端(也有一些预期的延迟)。

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

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

最后,一个相当具体的问题:是否有任何工具,如果有YouTube视频网址,可以下载字节流进行进一步处理?也就是说,类似于Chrome YouTube下载程序,但可以与服务器端脚本集成?

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

1 个答案:

答案 0 :(得分:0)

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

  • squid是一个http代理,视频使用通常流式传输,例如RTSP。
  • 是的,有一些工具可以从youtube网址中获取rtsp网址,请务必先了解视频服务的使用条款。
  • gstreamer有一个gst-rtsp-server模块,其中包含一个rtsp服务器,也可以用作给定rtsp流的代理。