当前位置: 首页 > 知识库问答 >
问题:

关于动态组合mpeg dash mpd数据的建议

慕容品
2023-03-14

我正在为一个即将开始的项目做研究。

我们将提供数百个30秒的视频文件,最终用户可以选择(通过各种过滤器),然后我们想播放它们,就好像它是一个视频。

似乎使用MPEG-DASH的媒体源扩展是要走的路。

我觉得这个问题可以用下面的方法来解决,但是我想问一下,如果有人做过类似的事情,这听起来是否正确

我的理论是:

为每个视频创建mpd(通过mp4box或类似工具)

用户进行选择(每个选项都有一个mpd)

阅读每个mpd并获取其

创建一个新的mpd文件并插入所有

警告

我想如果视频都是不同大小的格式等,这可能会有问题,但在这种情况下,我们可以假设一致性。

所以我的问题是,对于任何拥有mpeg dash/mpd外部功能的人来说,这听起来对吗?还是有更好的方法来实现这一点?


共有1个答案

禄星腾
2023-03-14

听起来不错,在我看来,多周期是唯一可行的方法。理想情况下,您可以使用相同的设置对所有视频进行编码,以便为最终用户提供一致的体验。然而,从技术角度来看,如果质量甚至纵横比等从一个时期到另一个时期发生变化,这不应该是一个问题。你需要一个支持多句型的播放器,比如dash。js或Bitmovin。

 类似资料:
  • 问题内容: 如何在javascript关联数组中动态创建键? 到目前为止,我发现的所有文档都是更新已创建的密钥: 我有这样的字符串 我想结束这样的事情: 那就是我分割字符串并获取第一个元素,然后将其放入字典中。 码 问题答案: 使用第一个示例。如果密钥不存在,它将被添加。 将弹出一个包含“ oscar”的消息框。 尝试:

  • 问题内容: 关于so​​rt()的Collections与Arrays这两个关于sort()方法的区别是什么?我知道Arrays的sort()使用二进制搜索进行sort(),那么Collections呢?以及如何选择使用哪个?谢谢! 问题答案: 那么,除了在不同的东西操作(操作上,以及在阵列上运行),简单地调用做繁重。 另外,请注意运行合并排序的价值。

  • 本文向大家介绍C++中关于[]静态数组和new分配的动态数组的区别分析,包括了C++中关于[]静态数组和new分配的动态数组的区别分析的使用技巧和注意事项,需要的朋友参考一下 本文以实例分析了C++语言中关于[]静态数组和new分配的动态数组的区别,可以帮助大家加深对C++语言数组的理解。具体区别如下: 一、对静态数组名进行sizeof运算时,结果是整个数组占用空间的大小; 因此可以用sizeof

  • 问题内容: 下面,我将给出两个具有不同尺寸值的示例。 锁1 所以我对我所有的期望是 我的第二把锁具有以下值: 所以我所期望的像这样 我知道这可以用类似方法完成,但是我想通过建立行而不是通过使我的RAM超载来生成行。我发现最后两行总是以相同的方式建立。所以我写了一个为我构建的函数: 现在,我想以某种方式使函数中的其他值动态适合,例如Lock-2现在看起来像这样: 我知道我应该使用循环等等,但是我无法

  • 输入的dput() 结构(列表(Varname=structure(1:6,.标签=c(“A”,“B”,“c”,“D”,“E”,“F”),类=“因子”),成分=结构(c(3L,1L,1L,4L,2L,1L),标签=c(“”,“A,c”,“B”,“c”),类=“因子”),名字=结构(c(5L,3L,2L,4L,6L),标签=c(“”,“鲍勃”,“凯茜”,“迪克,南希”,“杰克,布鲁斯”,“曼迪”),

  • 在第七章我们粗略介绍了一下Vec的用法。实际上,作为Rust中一个非常重要的数据类型,熟练掌握Vec的用法能大大提升我们在Rust世界中的编码能力。 特性及声明方式 和我们之前接触到的Array不同,Vec具有动态的添加和删除元素的能力,并且能够以O(1)的效率进行随机访问。同时,对其尾部进行push或者pop操作的效率也是平摊O(1)的。 同时,有一个非常重要的特性(虽然我们编程的时候大部分都不