相关疑难解决方法(0)

使用Node.js将视频文件流式传输到html5视频播放器,以便视频控件继续工作?

Tl;博士 - 问题:

使用Node.js处理将视频文件流式传输到html5视频播放器的正确方法是什么,以便视频控件继续工作?

认为这与处理标题的方式有关.无论如何,这是背景信息.代码有点冗长,但是,它非常简单.

使用Node将小视频文件流式传输到HTML5视频很容易

我学会了如何轻松地将小视频文件流式传输到HTML5视频播放器.通过这种设置,控件在我无需任何工作的情况下工作,视频流完美无瑕.此处提供了包含示例视频的完整工作代码的工作副本,可在Google Docs上下载.

客户:

<html>
  <title>Welcome</title>
    <body>
      <video controls>
        <source src="movie.mp4" type="video/mp4"/>
        <source src="movie.webm" type="video/webm"/>
        <source src="movie.ogg" type="video/ogg"/>
        <!-- fallback -->
        Your browser does not support the <code>video</code> element.
    </video>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

服务器:

// Declare Vars & Read Files

var fs = require('fs'),
    http = require('http'),
    url = require('url'),
    path = require('path');
var movie_webm, movie_mp4, movie_ogg;
// ... [snip] ... (Read index page)
fs.readFile(path.resolve(__dirname,"movie.mp4"), function …
Run Code Online (Sandbox Code Playgroud)

javascript video html5 node.js

82
推荐指数
2
解决办法
11万
查看次数

将重叠的音频文件流式传输到Chromecast Audio

我想流式传输多个重叠的音频文件(某些随机时间播放的声音效果).所以一种生成的音频流永远不会以完全相同的方式重复.有些音频文件在循环播放,有些则在特定时间.我想可能有点实时的流插入.

编写这样的服务器软件的最佳方法是什么?应该使用哪些协议进行流式传输(我更喜欢使用HTTP).我可能想要为每个配置(声音效果的轨道和时间)公开一个url.

任何指向代码/库的指针?最好是在任何语言,如java/kotlin/go/rust/ruby​​/python/node/...

网址: https://server.org/audio?file1=loop&file2=every30s&file2_volume=0.5

响应:( Audio stream在演员设备上播放)

Stream循环file1.每30秒播放一次50%音量的file2(叠加在file1上,播放率为100%).文件1就像10m9s长.所以组合永远不会重复.所以我们不能只提供一个预生成的mp3文件.

一些背景

我目前有一个Android应用程序随机播放不同的音频文件.有些是循环,有些是每x秒播放一次.有时多达10个同时.

现在我想添加对chromecast/chromecast audio/google home/...的支持.我想最好的是拥有一个流式传输的服务器.每个用户在玩游戏时都会有他/她自己的流.不需要让多个用户收听同一个流(即使它也可能受支持).

服务器基本上会读取url,获取配置,然后使用音频流进行响应.服务器打开一个(或多个音频文件),然后将其组合/叠加到单个流中.在某些时候,这些音频文件是循环的.其他一些音频文件在特定时间打开并添加/重叠到流中.播放的每个音频文件以不同的音量级别播放(一些声音更大,一些声音更安静).问题是如何制作这样的音频流以及如何实时添加不同的文件.

https http audio-streaming google-cast

6
推荐指数
1
解决办法
274
查看次数

标签 统计

audio-streaming ×1

google-cast ×1

html5 ×1

http ×1

https ×1

javascript ×1

node.js ×1

video ×1