HTML5 视频的多个音轨

2024-04-01

我正在使用 HTML5 为我的网站制作视频。理想情况下,我只有一个无声视频文件,以及与视频同步的不同语言的五个不同音轨。

然后我会有一个按钮,允许用户在音轨之间切换,甚至在视频播放时也是如此;正确的音轨就会出现(视频不会暂停或重新开始或任何其他事情;很像 DVD 音轨选择)。

我可以在 Flash 中非常简单地完成此操作,但我不想这样做。必须有一种方法可以在纯 HTML5 或 HTML5+jQuery 中做到这一点。我想你会以 0 音量播放所有音频文件,并且只增加活动曲目的音量...但我不知道如何做到这一点,更不用说在用户暂停或倒带时处理它视频...

提前致谢!


音频和视频之间的同步比简单地同时启动音频和视频要复杂得多。声卡的播放速率略有不同。 (对我来说 44.1 kHz,对你来说实际上可能是 44.095 kHz。)

通常,视频与音频流同步,但播放器负责处理这个问题。通过加载多个对象进行播放,您实际上使它们不同步。

唯一可行的方法是您可以找到一种方法来控制视频播放器中的不同音频流。我不知道这是否可能。

相反,我建议您使用不同的流对视频进行多次编码。您可以使用 FFMPEG 来实现此目的,甚至可以根据您的工作流程自动化该过程。流之间的切换成为一个问题,但大多数视频播放器都足够强大,可以在给定比特率时猜测文件中的字节偏移量。

如果您只需要两种语言,您可以简单地调整左右立体声音频通道之间的平衡。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

HTML5 视频的多个音轨 的相关文章

随机推荐

  • Chrome 在发送 8 个字节之前不会显示文件正在下载(Firefox 会显示)

    我想要一个将文件发送给用户的http方法 但它需要一些时间 例如4秒 来生成文件内容 我想要的是浏览器立即显示正在下载的文件 但 Chrome 仅在发送 8 个字节后才显示文件正在下载 我预先不知道文件的前 8 个字节 然而 Firefox
  • Android LikeView 错误

    我在我的 Android 应用程序中使用 facebook android sdk v3 19 1 我尝试使用LikeView https developers facebook com docs android like button 但
  • 在斯坦福 NER 中标记全名

    我试图将全名标记为完整标签 一个人 而不是单个标签 这是一个例子 http nlp stanford edu 8080 ner process http nlp stanford edu 8080 ner process 斯坦福NER在线
  • async/await 的调用链...等待可等待的内容还是返回可等待的内容?

    给定一个异步方法 public async Task
  • C++ 使用模板来避免编译器检查布尔值

    假设我有一个函数 template
  • 在 Gradle 中正确显示 UTF-8 文本

    我有一个任务 task info lt lt println Gradle Apache Ant Apache Maven DSL Groovy XML 当我使用命令时 gradle info Dfile encoding UTF 8 文本
  • 何时在表达式中计算/返回/获取 Java 变量中的值?

    根据http introcs cs princeton edu java 11precedence http introcs cs princeton edu java 11precedence 后自增运算符的优先级高于加法运算符 因此 对
  • 如何“选择”字符串数组

    当我使用Select Object NameCmdLet 似乎用单个创建了一个新对象Name其上的财产 我经常想将此选择通过管道传递给其他 CmdLet 但它们通常只需要一个字符串 我如何轻松获取一堆对象并说 仅选择属性 x 和属性值到数组
  • 跨 3 个平台的 Xamarin 移动应用版本号方案

    这里可能有多个相关的问题 我正在尝试为我们从单个 xamarin 解决方案构建的 3 个移动应用程序提出一个简单的版本号更新方案 我正在寻找一种简单的方法来保持所有这些值彼此同步 而不必四处走动并单独更新它们 Windows Phone 版
  • 将 Spring Security 3 与 Jersey Rest API 结合起来

    我有一个场景 我试图将 spring security 与 jersey 结合起来用于我的 REST API 我的需求相当复杂 我认为 如下 Spring security 用于拦截 url 并强制进行基本身份验证 以便访问 REST 资源
  • 如何在 Flask 中制作 RadioField?

    我有一个带有 TextField FileField 的表单 并且我想添加 RadioField 我想要一个有两个选项的单选字段 用户只能选择一个 我正在遵循前面两种有效形式的示例 我的 forms py 看起来像这样 from flask
  • 自定义 QPrintPreviewDialog

    是否可以自定义PrintPreviewDialog 我想界定放大和缩小功能 我知道这个问题已经有几个月了 但我花了相当长的时间才弄清楚 所以这里是 QPrintPreviewDialog preview printer this QList
  • 如何在 django 中指定索引类型? (btree 和 hash 对比等)

    就像标题所说 如何在 django 模型中的字段上指定我想要的索引类型 class Person age models IntegerField db index True 现在怎么办 我如何确保它是一个btree index而不是一个ha
  • 如何使用cgi python脚本在浏览器中显示pdf文件内容及其全名?

    我希望显示 pdf 文件的完整路径及其在浏览器上显示的内容 我的脚本有一个输入 html 用户将在其中输入文件名并提交表单 该脚本将搜索该文件 如果在子目录中找到该文件 则将文件内容输出到浏览器中并显示其名称 我能够显示内容 但无法同时显示
  • 为什么我无法使用 Select 从 onChange 获取值?

    测试表单的一部分 所以 现在我只想提醒用户选择什么 JS function getData title alert title PHP 生成的 HTML
  • 如何模糊匹配相邻单元格?

    我有一行 10 000 个名字 位于两个相应的列中 每列 10 000 个 A 列中的每个单元格对应于 B 列中的相邻单元格 我想进行模糊匹配 并获得所有单元格与相邻单元格的兼容性分数 我不希望它搜索整个列与整个列 只搜索相邻的单元格 我似
  • 在哪里下载signcode.exe和其他工具

    如果您决定签署代码 您将需要 签名代码 exe 生成证书文件 cert2spc exe pvk2pfx exe 下载这些工具的最佳位置是哪里 有没有办法在不下载大量 Microsoft Windows SDK 的情况下执行此操作 从视窗软件
  • AWS elemental mediaconvert 自动旋转视频?

    我正在使用 AWS elemental media Convert 将 mp4 视频转换为 HLS 一切正常 但输出视频旋转了 90 度 是否有一个设置可以用来阻止这种情况发生 我正在 iPhone 上拍摄视频 Under 输入 gt 视频
  • 如何制作顶部有锯齿边缘的 TileGroup 布局?

    我有包含按钮的spark components TileGroup 我希望按钮像选项卡一样出现在它们所服务的 ViewStack 顶部 目前 如果我在 TileList 中有 6 个项目 它会将其布局为 2 行 其中 4 个项目位于顶部拖曳
  • HTML5 视频的多个音轨

    我正在使用 HTML5 为我的网站制作视频 理想情况下 我只有一个无声视频文件 以及与视频同步的不同语言的五个不同音轨 然后我会有一个按钮 允许用户在音轨之间切换 甚至在视频播放时也是如此 正确的音轨就会出现 视频不会暂停或重新开始或任何其