GWT和熊猫视频转换器

时间:2010-03-16 23:46:02

标签: gwt video-encoding

我正在编写GWT应用程序,我需要上传视频文件并将该视频编码为不同的视频格式。我决定使用Panda Video Converter。我能够在我的EC2实例上运行panda(使用他们的图像),我可以从Panda的测试页面上传视频,但现在我正在尝试用自己的应用程序在GWT中做同样的事情。 我的问题是:如何获取视频ID以及如何将视频发布到服务器。我需要使用哪个URL?我试着阅读他们的documentation,但不知道从哪里开始。这是我第一次使用webservices和url,这可能就是为什么我不知道它是如何工作的。

3 个答案:

答案 0 :(得分:1)

免责声明:我不知道熊猫视频转换器的工作原理,这只是使用RequestBuilder向服务器发出GET和POST请求的示例。

实现这一目标的步骤似乎大致如下:

  1. 使用您的帐户ID作为参数向hq.pandastream.com/videos.(yaml|xml)发送POST。
  2. 收到回复,其中包括您创建的新视频的ID(占位符)
  3. 根据ID向用户显示表单。通过向upload.pandastream.com/videos/[id]/form
  4. 发送GET来检索表单
  5. 提交此表单会上传视频,可以通过向GET hq.pandastream.com/videos/id.(yaml|xml)发送GET来检索其信息
  6. 由于此过程的唯一元素是POST和GET请求,因此您可以使用RequestBuilder在GWT中为您发出这些请求。

    我们将逐步完成。

    使用您的帐户ID作为参数向hq.pandastream.com/videos.xml发送POST。

    RequestBuilder rb = new RequestBuilder(RequestBuilder.POST, "http://hq.pandastream.com/videos.xml");
    rb.sendRequest("account_key=foo", new RequestCallback() {
      protected void onResponseReceived(Request request, Response, response) {
        // parse XML to get "id" element
      }
      // onError() ...
    });
    

    现在您已拥有该ID,您可以再次请求获取上传表单HTML。

    rb = new RequestBuilder(RequestBuilder.GET, "http://upload.pandastream.com/videos/" + id + "/form");
    rb.sendRequest(null, new RequestCallback() {
      protected void onResponseReceived(Request request, Response, response) {
         // this may not work, and it may be a bad idea to inject third-party HTML
         // straight into your page. You might also want to open a popup window
         // instead of injecting the HTML directly.
        someWidget.setHTML(response.getText());
      }
      // onError() ...
    });
    

    使用该表单,用户上传视频等

    现在,要获取有关该视频的信息,您可能已经猜到了 - 另一个RequestBuilder电话。

    rb = new RequestBuilder(RequestBuilder.GET, "http://hq.pandastream.com/videos/" + id + ".xml");
    rb.sendRequest(null, new RequestCallback() {
      protected void onResponseReceived(Request request, Response, response) {
        // parse response XML to get info you want
      }
      // onError() ...
    });
    

    另一个免责声明:根据您链接的文档,这是非常概述出现的过程,即上传视频的过程。这只是使用RequestBuilder进行GET / POST调用的基本示例。

答案 1 :(得分:1)

我只是想看看你是否已经解决了这个问题。如果您需要有关开源版本的更多帮助,请随时在Google网上论坛列表中提问:http://groups.google.com/group/pandastream

您可能还有兴趣尝试我们上周公开发布的托管版本:http://pandastream.com/

答案 2 :(得分:0)

在我看来,U2Any Video Converter对我们来说也是一个不错的选择,因为它实用且专业且易于使用。它可以处理转换视频/音频格式的所有问题。希望我的信息可以帮到你。