0

我正在尝试编写一个 iphone 应用程序,该应用程序从运行相机的内置 Web 服务器加载视频(通过 wifi 连接到 iphone)。

我正在使用 flash builder/flex 移动项目 - 不是特别熟悉,但发现它比 xcode 更容易理解!

来自相机的文件具有错误的文件扩展名,因此无法在 ios 视频应用程序上播放,我可以在 flex mobile 中设置服务器端代理并使用它来更改文件扩展名,然后将此链接传递给 ios 视频应用程序吗?

如果有人可以给我任何帮助(示例等),我将不胜感激,我已经尝试解决这个问题几个星期了。

干杯托比

4

1 回答 1

0

我可以从概念上解释服务器端代理在这种情况下会做什么。假设您正在检索一个 URL,如下所示:

http://myserver.com/somethingSomething/DarkSide/

从服务器检索视频流。你说它不会播放,因为没有文件扩展名;因此,本质上,您必须使用带有扩展名的不同 URL。在服务器上设置“搜索引擎友好”的 URL。并做这样的事情:

http://myserver.com/myProxy.cfm/streamURL/somethingSomething%5CDarkSide/Name/myProxyVid.mp4

以下是有关如何在 ColdFusion 中处理搜索引擎友好 URL 的一些信息。下面是一些关于如何在 PHP 中处理搜索引擎友好 URL 的信息。我确信其他技术会出现在 Google 搜索中。

在上面的网址中;这就是你所拥有的:

  • http://myserver.com/:这是您的服务器
  • myProxy.cfm:这是您的服务器端文件;那是一个代理
  • streamURL/somethingSomething%5CDarkSide/Name/myProxyVid.mp4:这是查询字符串。它由两个名称值对组成。第一个是streamURL。这是您要使用代理检索的 URL。第二个是随机的;但只要它以文件扩展名 .mp4 结尾,URL 就应该被视为“mp4 文件”

myProxy.cfm 背后的代码应该是这样的,在伪代码中:

Parse URL Query String
Retrieve Stream.
Set mimeType on return value.
Return stream data

我在 TheFlexShow.com 上使用了类似的方法来跟踪在线观看我们的截屏视频与首先下载它的人数。我还使用相同的方法来跟踪广告商横幅广告的印象。例如,浏览器无法判断这不是 JPG 图像:

http://www.theflexshow.com/blog/mediaDisplay.cfm?mediaid=51

基于此,以及您之前的一个问题;不过,我不相信这是最好的解决方案。我在这里做了很多假设。我认为播放文件的问题确实与扩展名有关,而不是文件数据。我假设您实际上并没有在客户端和服务器上使用开放连接来流式传输视频来来回发送数据。

于 2013-04-21T13:23:33.070 回答