热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

你会如何在网上展示视频?-HowwouldyoudisplayVideoontheweb?

Sorryifthequestionisconfused,asImconfusedmyself.Imworkingaroundtheserequirements:对不

Sorry if the question is confused, as I'm confused myself. I'm working around these requirements:

对不起,如果这个问题很困惑,因为我很困惑。我正在解决这些要求:

  1. I'm building a public website where I need to display video.
  2. 我正在建立一个公共网站,我需要显示视频。

  3. I need to control what the player looks like
  4. 我需要控制玩家的样子

  5. I'm the sole publisher of the video, meaning it can't be on YouTube for example
  6. 我是该视频的唯一发布商,这意味着它无法在YouTube上播放

  7. I need as much protection as possible in terms of protecting the content from being downloaded
  8. 在保护内容不被下载方面,我需要尽可能多的保护

So, I've read around StackOverflow and the web, and found lots of suggestions, like numerous flash players, Streaming servers, DRM protocols, services like Panda etc etc.

所以,我已经阅读了StackOverflow和网络,并发现了许多建议,如众多闪存播放器,流媒体服务器,DRM协议,熊猫等服务等。

The problem is I don't understand how everything fits together.

问题是我不明白一切如何融合在一起。

For example, what makes my video content secure? Is it the player on the client? is it the server that hosts the content? is it the streaming process? who hosts the streaming servers and what difference does this make?

例如,是什么让我的视频内容安全?它是客户端的玩家吗?它是托管内容的服务器吗?是流媒体流程吗?谁拥有流媒体服务器,这有什么不同?

Bearing in mind this is otherwise a very simple site, and is not a business venture.

请记住,这是一个非常简单的网站,并不是一个商业冒险。

if you were working around my requirements, what would you do? Could you explain step by step at a high level?

如果你正在解决我的要求,你会怎么做?你能一步一步地解释一下吗?


EDIT: Just based on a couple of answers, I'm not saying no one can ever download my content. And I realize this kind of thing is expensive.

编辑:只是基于几个答案,我不是说没有人可以下载我的内容。我意识到这种事情很昂贵。

I'm just asking, if you had my requirements, what would you do? And could you explain it to me so i understand?

我只想问,如果你有我的要求,你会做什么?你能解释一下我明白了吗?

thanks again

Edit: Thanks again for all the feedback, I can't vote anyone up as I'm a new user, but your answers have been very helpful.

编辑:再次感谢所有的反馈,我不能投票给任何人,因为我是一个新用户,但你的答案非常有帮助。

The one thing I will say, is that my only request was to attempt security, that is 'make it difficult' for most users...that is common in software security.

我要说的一件事是,我唯一的要求就是尝试安全性,这对大多数用户来说都是“困难”......这在软件安全方面很常见。

Some of the suggestions have been just to not even try.

有些建议甚至没有尝试过。

My question was really based around the fact that I know nothing about video deployment on the web, apart form the basic embedded swf flv combo.

我的问题实际上是基于这样一个事实:我对网络上的视频部署一无所知,除了基本的嵌入式swf flv组合。

Anyway, your info has been very useful though. I'll try a simple "real" streaming service (as opposed to HTTP streaming).

无论如何,你的信息非常有用。我将尝试一个简单的“真实”流媒体服务(而不是HTTP流媒体)。

Any other recommendations would be awesome

任何其他建议都很棒

cheers

4 个解决方案

#1


Mostly video streaming sites like Hulu achieve a kind of poor-man's security by using RTMP to transfer the video data. You would need special server software to serve video via RTMP, for example Adobe Flash Media Server or WebORB.

大多数像Hulu这样的视频流媒体网站通过使用RTMP传输视频数据来实现一种穷人的安全性。您需要特殊的服务器软件才能通过RTMP提供视频,例如Adobe Flash Media Server或WebORB。

RTMP is a proprietary protocol, so this is a case of security through obscurity; it's non-trivial to download a copy of the video (you can't just grab the file from a URL), but there are programs out there that are capable intercepting the stream and keeping a copy.

RTMP是一种专有协议,所以这是一个通过默默无闻的安全案例;下载视频副本并不是一件容易的事情(你不能只是从URL中获取文件),但有些程序能够拦截流并保留副本。

#2


"For example, what makes my video content secure? " Nothing.

“例如,是什么让我的视频内容安全?”没什么。

"Is it the player on the client?" Neither. Anyone can write a client and retain the video content. Remember this. Anyone can write a client. This client can absorb and save your video. Nothing can stop this. Nothing.

“它是客户的玩家吗?”都不是。任何人都可以编写客户端并保留视频内容。记住这一点。任何人都可以写客户。此客户端可以吸收和保存您的视频。什么都不能阻止这一点。没有。

"is it the server that hosts the content?" No. Server is only one piece of security. You have to secure the protocol. And the client. And anyone can write a client and retain the video content.

“它是托管内容的服务器吗?”不。服务器只是一个安全措施。你必须保护协议。和客户。任何人都可以编写客户端并保留视频内容。

"is it the streaming process?" No. Protocol is only one piece of security. You have to secure the server, the protocol and the client. And anyone can write a client and retain the video content.

“这是流媒体流程吗?”协议只是一个安全措施。您必须保护服务器,协议和客户端。任何人都可以编写客户端并保留视频内容。

"who hosts the streaming servers and what difference does this make?" You host the streaming video servers. Otherwise, you might as well use YouTube.

“谁拥有流媒体服务器,这有什么不同?”您托管流式视频服务器。否则,您也可以使用YouTube。


Edit

"The problem is I don't understand how everything fits together."

“问题是我不明白一切如何融合在一起。”

"For example, what makes my video content secure?"

“例如,是什么让我的视频内容安全?”

These are unrelated. You keep mentioning security, AND not knowing how "everything" fits together.

这些是无关的。你一直提到安全性,而不知道“一切”如何融合在一起。

Here's a suggestion: stop mentioning security -- edit your question to eliminate all references to security and see if you get more useful answers.

这里有一个建议:停止提及安全性 - 编辑你的问题以消除所有对安全性的引用,看看你是否得到了更多有用的答案。

Many companies sell streaming media servers. You put HTML in your page that references the streaming media site.

许多公司销售流媒体服务器。您将HTML放在引用流媒体网站的页面中。

Example. Apple sells Quicktime media server. Read http://developer.apple.com/documentation/QuickTime/Conceptual/QTScripting_HTML/QTScripting_HTML_Document/chapter_1000_section_1.html for lots of information on how to present video from quicktime.

例。 Apple销售Quicktime媒体服务器。请阅读http://developer.apple.com/documentation/QuickTime/Conceptual/QTScripting_HTML/QTScripting_HTML_Document/chapter_1000_section_1.html,了解有关如何通过q​​uicktime呈现视频的大量信息。

#3


Before you go too far worrying about setting up these secure streaming protocol client server whatevers, make sure you weigh up the cost of your time getting this going, versus the cost of someone downloading your video.

在您过度担心设置这些安全的流媒体协议客户端服务器时,请确保权衡您的时间成本与下载视频的人的成本。

Just to be clear: if your server is sending to a client, then they can copy (download) it. There's no way around it.

需要明确的是:如果您的服务器正在发送给客户端,那么他们可以复制(下载)它。没有办法绕过它。


Response to your comment:

回复你的评论:

What I'd probably try doing if you wanted to try to avoid users downloading the files is this (I'll assume you're using FLV files, since they're the de facto standard on the web these days):

如果你想试图避免用户下载文件,我可能会尝试这样做(我假设你正在使用FLV文件,因为它们现在是网上事实上的标准):

  • Put the FLV files in a non web-accessible directory.
  • 将FLV文件放在不可通过Web访问的目录中。

  • Have a player.swf file request the file via a script on your site, eg: video.php?file=myVideo.flv
  • 让player.swf文件通过您网站上的脚本请求文件,例如:video.php?file = myVideo.flv

  • The video.php can then perform whatever security checks you'd like: for example, require logins, check the referrer, etc.
  • 然后,video.php可以执行您想要的任何安全检查:例如,需要登录,检查引荐来源等。

  • If the security checks are ok, then pass through the appropriate video file. If not, then perhaps have a short back-up video which is an ad for your site or something, saying "to watch this video, please come to mysite.com!"
  • 如果安全检查没问题,则通过相应的视频文件。如果没有,那么可能会有一个简短的备用视频,这是一个适合您网站的广告或其他内容,并说“观看此视频,请访问mysite.com!”

#4


2.I need to control what the player looks like

我需要控制玩家的样子

Download and customise a free player like OSFLV.

下载并自定义像OSFLV这样的免费播放器。

4.I need as much protection as possible in terms of protecting the content from being downloaded

4.在保护内容不被下载方面,我需要尽可能多的保护

Forget it.

DRM for FLV exists, but you'll have to pay Adobe a load of money for Flash Media Server and Flash Media Rights Management Server, you'll lose client compatibility and ease of deployment, and in the end it's still breakable. Big old waste of time.

FLV的DRM存在,但您必须向Adobe支付大量资金用于Flash Media Server和Flash Media Rights Management Server,您将失去客户端兼容性并易于部署,并且最终它仍然可以破解。大浪费时间。

Accept that some people will download your videos, and put a big watermark on them so at least when they do you're getting free advertising.

接受有些人会下载你的视频,并在他们身上留下一个大水印,这样至少当你获得免费广告时。


推荐阅读
  • 长期从事ABAP开发工作的专业人士,在面对行业新趋势时,往往需要重新审视自己的发展方向。本文探讨了几位资深专家对ABAP未来走向的看法,以及开发者应如何调整技能以适应新的技术环境。 ... [详细]
  • Web动态服务器Python基本实现
    Web动态服务器Python基本实现 ... [详细]
  • 在Qt框架中,信号与槽机制是一种独特的组件间通信方式。本文探讨了这一机制相较于传统的C风格回调函数所具有的优势,并分析了其潜在的不足之处。 ... [详细]
  • 本文详细介绍了如何使用C#实现不同类型的系统服务账户(如Windows服务、计划任务和IIS应用池)的密码重置方法。 ... [详细]
  • 对于初学者而言,搭建一个高效稳定的 Python 开发环境是入门的关键一步。本文将详细介绍如何利用 Anaconda 和 Jupyter Notebook 来构建一个既易于管理又功能强大的开发环境。 ... [详细]
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
  • 本文介绍了如何在不同操作系统上安装Git,以及一些基本和高级的Git操作,包括项目初始化、文件状态检查、版本控制、分支管理、标签处理、版本回退等,并简要提及了开源许可协议的选择。 ... [详细]
  • 问题场景用Java进行web开发过程当中,当遇到很多很多个字段的实体时,最苦恼的莫过于编辑字段的查看和修改界面,发现2个页面存在很多重复信息,能不能写一遍?有没有轮子用都不如自己造。解决方式笔者根据自 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • 本文详细介绍了在Linux操作系统上安装和部署MySQL数据库的过程,包括必要的环境准备、安装步骤、配置优化及安全设置等内容。 ... [详细]
  • 本文详细介绍了如何在 Vue CLI 3.0 和 2.0 中配置 proxy 来解决开发环境下的跨域问题,包括具体的配置项和使用场景。 ... [详细]
  • 本文档详细介绍了软通动力Java开发工程师职位的笔试题目,涵盖了Java基础、集合框架、JDBC、JSP等内容,并提供了详细的答案解析。 ... [详细]
  • 本文介绍了如何在 Node.js 中使用流(Stream)进行数据读取与写入,包括创建可读流与可写流的基本方法,并提供了具体的代码示例。 ... [详细]
  • 本文档介绍了如何使用ESP32开发板在STA模式下实现与TCP服务器的通信,包括环境搭建、代码解析及实验步骤。 ... [详细]
  • 本文详细记录了腾讯ABS云平台的一次前端开发岗位面试经历,包括面试过程中遇到的JavaScript相关问题、Vue.js等框架的深入探讨以及算法挑战等内容。 ... [详细]
author-avatar
陈俊隽
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有