ruby-on-rails – 在上传时观看视频
可以实现允许用户在他人上传到服务器时观看视频的功能. html 5适合这个任务吗?但闪光?有没有读取解决方案,不想重新发明轮子.该应用程序将托管在专用服务器上.
谢谢. 解决方法
当然有可能,数据不存在吗?
但是实施起来会非常困难. 另外我对python并不是很了解我并不知道适合您要求的库或服务,但我可以涵盖视频流的基础知识. 我假设你在谈论上传的视频文件,而不是流.因为,为此,显然有成千上万的解决方案…… 在最简单的情况下,上传的视频已经准备好提供给您的客户,并且有一个所谓的“快速启动原子”.它们是特定于容器格式的,有时会有一堆.最常见的是moov-atom.它包含大量数据并且非常复杂,但在我们的使用案例中,简而言之,它保存了数据,使客户端可以使用从头开始的数据立即开始播放视频. 如果您有渐进式下载视频(youtube …),则需要这样做,这意味着从Web服务器提供文件的位置.你显然没有下载完整的文件,玩家已经可以开始玩了. 如果不存在fastastart原子,那是不可能的. 覆盖文件可以上传.您将需要一个上传解决方案,将数据直接写入缓冲区或文件. (文件会更容易……). 几乎总是如此,例如PHP在tmp_dir中创建一个文件.如果要在上传视频时查找视频,也可以指定它. 那么,现在您可以逐字节地开始读取该文件,并将该数据打印到与另一个客户端的连接.请务必不要超过已经收到和写的内容.您可能会在内存中使用元数据集启动上传,该元数据包含当前接收的字节位置和文件位置. 在上传开始后请求文件的任何人都可以收到整个文件,或者如果上传尚未完成,请从您的应用程序中获取. 您必须限制数据传输或在数据变短时暂停.这对客户来说几乎就像一个“慢速连接”.但是,您必须不时回显一些数据以防止连接关闭.但是如果你的上传没有停止,为什么要这么说呢?那不应该是个问题. 现在,如果您希望将各种输入格式的动态转码成所需的输出格式,那么事情会变得有趣. AFAIK ffmpeg具有整洁的apis,可让您直接处理datasterams. 手刹也是一个非常好的工具,但是你需要使用外部可执行程序. 我并不是真的了解您的要求,但是如果您的客户已经调整过,例如在红色5流媒体服务器上,将数据输入流也应该可以正常工作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |