ruby - 在写入时将 .mov 流式传输到浏览器

标签 ruby selenium ffmpeg video-streaming

我正在使用 headlessselenium-webdriver gem 创建视频:

# 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

这会产生 test.mov视频。

在这个例子中,我有一个最终确定的 .mov如果我愿意,我可以将其推送到浏览器。

但我希望有一种方法可以在创建时进行流式传输。

如果有帮助,headless接受 ffmpeg 的配置参数.

最佳答案

mov 不能直播。它需要将帧索引 (moov) 写入文件。在处理完每一帧之前,无法建立索引。 mov 可以在完全写入后进行伪流式传输。对于流媒体格式,您必须使用分段 mp4(如 dash)或 webrtc 等协议(protocol)。

关于ruby - 在写入时将 .mov 流式传输到浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38141753/

相关文章:

ruby 混合 : extend and include

java - Selenium 下拉框

c# - 将图像添加到视频末尾

FFMPEG 图片转视频 + 叠加视频

ruby-on-rails - RVM 和 rbenv 实际上是如何工作的?

ruby-on-rails - Rails 4 强参数语法错误

ruby-on-rails - Capybara rspec - 将文件附加到隐藏的 file_field

java - for 循环中的 Web 元素

c# - 谷歌搜索按钮点击 Selenium

PHP exec() 不适用于 ffmpeg