我有一个大问题。我有一个视频流媒体网站。网站有公共视频和私人视频,购买后可以看到私人视频。
在这里你可以看到目录结构:
/public_html
|__/vendor
|__/src
|__/public
|__/product
|__/sample-video
|__/video.mp4
Run Code Online (Sandbox Code Playgroud)
嗯,正如您所看到的,视频位于公共文件夹之外。目标是使它们无法直接访问。
这是树枝:
<video id="myVideo">
<source src="/products/12?video=10&cache={{ random(50, 10000) }}" type="video/webm" />
<source src="/products/12?video=10&cache={{ random(50, 10000) }}" type="video/mp4" />
</video>
Run Code Online (Sandbox Code Playgroud)
视频控制器: https: //pastebin.com/sne1mSHH
以及视频流逻辑: https://pastebin.com/2Sxd7Nqq
问题是这样的:
我要去现场。您在页面之间切换。非常好。我转到一个视频仍然很好的页面,但在启动视频后,该页面不好。页面只是加载,什么也不做。我无法再在页面之间切换了。我必须关闭隐身模式并开始新的会话。
直到现在我还以为会话锁是问题所在,但我关闭了写入会话。
我尝试在新标签中打开视频。另外,错误是在视频流完成之前,页面不会处理请求。
因此,当视频正在播放时,我无法发送新请求。我还可以附加什么以使错误更加透明?请帮忙!
我正在寻找每个人对从使用ASP.NET构建的网站流式传输视频的最佳方式的看法.一些值得注意的项目包括:
我认为Silverlight可能是一个很好的方式,但我会非常感谢其他人的意见(如果可以,请包括优点/缺点).
谢谢!
什么编解码器设置将生成有效的视频,以便在Android(videoView)和iOS UIWebView上播放?
我想将我的视频流式传输到手机上的外部播放器.我安装了双重扭曲,我想要打开我的视频网址.我怎样才能做到这一点?
我正在寻找一种安全地将视频传送到移动设备的方法.有两种选择:
标签中的HLS.这适用于iOS并且支持自适应比特率,非常适合移动设备.但是,似乎只能在iOS上运行良好.在Android上似乎只有零碎的支持.我已经读过Android自3.0以来已经正式支持它,但在我测试过的所有Android设备上(> 3.0),HLS还没有在浏览器上播放.
标签中的渐进式下载.这将适用于iOS和Android设备,但关注的是,由于它只是一个渐进的视频下载,用户找到了一种方法,只需在浏览器下载后抓取该视频.这在iOS上可能会比较困难,但我确定在某个地方将浏览器存储在tmp文件夹中的位置并不难.
我所说的任何一种方法都可以通过使用过期令牌方法来保护其免受深层链接,其中令牌是在服务器端生成的,其中只有内容服务器知道的密钥.视频请求仅在5或10分钟内有效,否则会导致深层链接.
是否有人知道这些问题的任何方法?即使我能够阻止深层链接,用户仍然可以自己获取视频并重新分发.也许这是不可能的?
谢谢
我安装了适用于Wordpress的S3视频插件 - 除了它或我的主题应用了padding-top%element.style之外,它的工作非常精美,我不能在没有搞砸的情况下改变播放器的大小.这是从firebug复制的:
element.style {
padding-top: 59.375%;
}
.fluid-width-video-wrapper {
padding: 0;
position: relative;
}
.fluid-width-video-wrapper {
box-shadow: 0 0 20px rgba(0, 0, 0, 0.8);
content: "";
height: 10px;
left: 0;
margin-left: auto;
margin-right: auto;
padding: 0;
position: relative;
top: -15px;
width: 100%;
z-index: 100;
}
Run Code Online (Sandbox Code Playgroud) 任何人都知道如何配置HLS媒体服务器以减少一点点直播视频的延迟?
我需要更改哪些类型的参数?
我听说你可以使用这样的参数做一些调整:HLSMediaFileDuration
提前致谢
我正在使用Rails 4作为我的Web应用程序,我正在使用VideoJS来显示它,例如:
<video id="video1" class="video-js" controls preload="auto" width="640" height="264" poster="{{pCtrl.video.poster}}" src="<%= @video.file %>">
<source src="<%= @video.file %>" type="video/<%= @video.file.file.filename.last(3) %>">
</video>
Run Code Online (Sandbox Code Playgroud)
我总是从VideoJS收到此错误:
VIDEOJS: ERROR: (CODE:3 MEDIA_ERR_DECODE) The video playback was aborted due to a corruption problem or because the video used features your browser did not support.
Run Code Online (Sandbox Code Playgroud)
当我打开Chrome的开发工具时,我看到视频(340Mb .mp4文件)的下载状态为206(部分内容),仅为2.8 Mb.
我认为这是VideoJS的问题,但后来我尝试直接访问,如" http:// localhost:3000/uploads/video/file/glrbfmso1449450792.mp4 "
该视频将播放几秒钟然后冻结,除非我刷新页面,否则它将无法播放.我认为它只能播放2.8 Mb.所以我认为它与WEBrick有关.
问题不在于视频文件,因为它在VLC上正常播放,当我使用Glassfish(用Java编程)时.
那么我的问题是:我应该在Rails或WEBrick中配置一些东西吗?我应该编辑哪些设置?或者这是我经历的异常?
video ruby-on-rails video-streaming html5-video ruby-on-rails-4
所以现在有一段时间我正在考虑创建某种视频流应用程序(客户端和服务器).进行一些小搜索我总是得到流媒体应用程序,而不是如何编写代码.
我知道它应该是......捕获数据,打包,发送到服务器,然后服务器将广播给任何连接的人......对吗?
那么我应该从哪里开始...我应该研究套接字......我应该研究更多关于如何实现UDT或TCP协议......还是那两个组合?
我正在使用无头和selenium-webdriver宝石来创建视频:
# require gems
require 'headless'
require 'selenium-webdriver'
# start headless
headless = Headless.new
headless.start
headless.video.start_capture
# use selenium
driver = Selenium::WebDriver.for(:firefox)
driver.navigate.to("http://google.com")
puts driver.title
# exit headless and save video
headless.video.stop_and_save("test.mov")
headless.destroy
Run Code Online (Sandbox Code Playgroud)
这会产生一个test.mov视频.
在这个例子中,我有一个最终.mov文件,如果我愿意,我可以推送到浏览器.
但是我希望有一种流式传输方式可以创建.
如果有帮助,请headless接受配置参数ffmpeg.