在编写时将 .mov 流式传输到浏览器

streaming a .mov to the browser as it's being written

我正在使用 headless and selenium-webdriver gems 制作视频:

# 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(如破折号)或 webrtc 等协议。