- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将 H.264 视频源流式传输到 Web 浏览器。 Media Foundation 用于编码分段的 MPEG4 流( MFCreateFMPEG4MediaSink
与 MFTranscodeContainerType_FMPEG4
、 MF_LOW_LATENCY
和 MF_READWRITE_ENABLE_HARDWARE_TRANSFORMS
启用)。然后该流通过 IMFByteStream
连接到 Web 服务器。 .
当 H.264 视频被 <video src=".."/>
使用时,它的流媒体工作正常标签。但是,由此产生的延迟约为 2 秒,这对于所讨论的应用程序来说太多了。我怀疑是客户端缓冲导致了大部分延迟。因此,我正在尝试使用媒体源扩展 (MSE) 来对浏览器内的流媒体进行编程控制。但是,当通过 MSE 使用相同的 MPEG4 流时,Chrome 确实会失败并显示以下错误:
Failure parsing MP4: TFHD base-data-offset not allowed by MSE. Seehttps://www.w3.org/TR/mse-byte-stream-format-isobmff/#movie-fragment-relative-addressing
base data offset
范围:
[moof] size=8+200
[mfhd] size=12+4
sequence number = 3
[traf] size=8+176
[tfhd] size=12+16, flags=1
track ID = 1
base data offset = 36690
[trun] size=12+136, version=1, flags=f01
sample count = 8
data offset = 0
[mdat] size=8+1624
我正在使用 Chrome 65.0.3325.181(官方版本)(32 位),在 Win10 版本 1709 (16299.309) 上运行。
- Modify Track Fragment Header Box (tfhd):
- remove
base_data_offset
parameter (reduces stream size by 8bytes)- set
default-base-is-moof
flag- Add missing Track Fragment Decode Time (tfdt) (increases stream size by 20bytes)
- set
baseMediaDecodeTime
parameter- Modify Track fragment Run box (trun):
- adjust
data_offset
parameter
IMFSinkWriter::NotifyEndOfSegment
,延迟进一步减少到 0-1 帧。在每次 IMFSinkWriter::WriteSample 调用之后。
最佳答案
提到的 0.7 秒延迟(在您的 状态更新 中)是由媒体基金会的 MFTranscodeContainerType_FMPEG4
引起的在一个 MP4 中收集和输出大约每 1/3 秒(来自未知原因)帧的容器 moof
/mdat
盒对。这意味着您需要等待 19 帧才能从 MFTranscodeContainerType_FMPEG4
获得任何输出。 60 帧/秒。
输出单个 MP4 moof
/mdat
每帧,简单地撒谎 MF_MT_FRAME_RATE
是 1 FPS(或任何高于 1/3 秒的速度)。要以正确的速度播放视频,请使用媒体源扩展的 <video>.playbackRate
或者更确切地说是更新 timescale
(即乘以真实 FPS)的 mvhd
和 mdhd
MP4 流拦截器中的框以获取正确计时的 MP4 流。
这样做,延迟可以压缩到 20 毫秒以下。当您在 localhost
上并排看到输出时,这几乎无法辨认。在诸如 Unity(研究)之类的链中 -> NvEnc -> MFTranscodeContainerType_FMPEG4
-> WebSocket -> Chrome 媒体源扩展显示。
请注意 MFTranscodeContainerType_FMPEG4
仍然引入 1 帧延迟(第 1 帧输入,无输出,第 2 帧输入,第 1 帧输出,...),因此 60 FPS 的延迟为 20 毫秒。唯一的解决方案似乎是编写自己的 FMPEG4 容器化程序。但这比拦截 Media Foundation 的 MP4 流要复杂一个数量级。
关于mp4 - MFCreateFMPEG4MediaSink 不生成 MSE 兼容的 MP4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49429954/
我正在寻找 GradientBoostingClassifier在 sklearn .然后,我发现有 3 种标准。弗里德曼 mse,mse,mae。sklearn提供的描述是: The functio
我正在训练一个在最后一层具有连续输出的卷积网络。最后一层有 4 个节点。我使用均方误差作为损失函数。作为检查,我使用了 Tensorflow 的均方误差。对于第一个纪元的第一批,这只给出了相同的结果。
起因 我有个网站A【蓝色服务】,要对网站A进行改版【绿色服务】,其中用户中心已经改完了,希望当用户访问时,如果http请求头中包含isGroup,并且isGroup=1时,去新的绿色服务,反之就还是
我有 2 个张量 .size的 torch.Size([2272, 161]) .我想得到它们之间的均方误差。但是,我希望它沿着 161 个 channel 中的每一个,以便我的误差张量具有 .siz
在使用元启发式算法的聚类分析论文中,许多都优化了均方量化误差 (MSE)。例如在 [1]和 [2] . 我对结果感到困惑。他们告诉他们已经使用 MSE 作为目标函数。但是他们已经报告了欧几里德距离的簇
假设有两个张量列表: r1 = K.variable(1) r2 = K.variable(2) v1 = K.variable(3) v2 = K.variable(4) l1 = [r1,r2]
我是随机森林新手,我有一个关于回归的问题。我正在使用 R 包 randomForests 来计算 RF 模型。 我的最终目标是选择对预测连续性状很重要的变量集,因此我正在计算一个模型,然后删除准确度平
有人能指出这个项目 ( Managed Service Engine ) 是否已被放弃吗? 我需要决定是否将其用作我的企业服务虚拟化计划的一部分。我目前看到来自 Microsoft 的许多竞争解决方案
我正在训练一个 keras 模型,它的最后一层是单个 sigmoid单元: output = Dense(units=1, activation='sigmoid') 我正在用一些训练数据训练这个模型
我试图从我抓取的数据集中预测一些价格。我从未为此使用过 Python(我通常使用 tidyverse ,但这次我想探索 pipeline 。 所以这是代码片段: import pandas as pd
我正在使用 scikit learn 创建回归模型。现在我想知道如何评估均方误差是否合理或不好? 例如,当我进行交叉验证时,训练数据模型的测试数据的 MSE 为 0.70。分数合理还是不好? 计算模型
我试图显示使用getUserMedia从网络摄像头获取的MediaStream,并使用可能的播放机制将其中继到远程对等设备(作为实验)。我不是直接使用webRTC,因为我想控制原始数据。 我遇到的问题
我正在使用 scikit learn 创建回归模型。现在我想知道如何评估均方误差是否合理或不好? 例如,当我进行交叉验证时,训练数据模型的测试数据的 MSE 为 0.70。分数合理还是不好? 计算模型
我不确定这是否是问这个问题的正确地方,但是在哪里可以找到有关如何计算两个图像的 MSE 的分步指南? 我知道公式是什么,但不知道如何付诸实践。 最佳答案 在 C 语言中你可能会这样做: int sum
我正在构建一个使用 MSE 作为误差函数的卷积自动编码器。图像的 MSE 是如何定义的?如果图像以简单矩阵形式呈现,MSE 是否只是各个行列式之差的平方?或者是矩阵之差的行列式的平方? 最佳答案 计算
我得到了不同的 mse 结果。在训练过程中,我在最后一个训练周期后得到 0.296,当我评估我的模型时,我得到 0.112。有谁知道为什么会这样吗? 这是代码: model = Sequential(
假设您有一个代表自动编码器 (AE) 的网络。假设它有 90 个输入/输出。我想用大小为 100 的批处理对其进行批量训练。我将用 x 表示我的输入,用 y 表示我的输出。 现在,我想使用 MSE 来
我正在使用 Scikit-learn 库进行线性回归。一切都简单明了。只需 6 行代码,我就可以完成这项工作。不过,我想知道到底发生了什么。 由于我是机器学习的初学者,也许我的问题是错误的,但我想知道
训练期间 MSE 是否有可能增加? 我目前正在计算每个时期验证集的 MSE,在某个点,MSE 开始增加而不是减少。有人对这种行为有解释吗? 最佳答案 回答您的问题:是的,有可能。 如果您使用正则化或随
我的特征向量大小为 1x4098。每个特征向量对应一个 float (温度)。在训练中,我有 10,000 个样本。因此,我的训练集大小为 10000x4098,标签为 10000x1。我想使用线性回
我是一名优秀的程序员,十分优秀!