问题标签 [ffdshow]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ffmpeg - 减少 FFMPEG h264 视频流延迟
我正在使用 FFMPEG(h264),我想尽可能地减少延迟。现在它大约是 700 毫秒,我真的不能让它更低。我几乎尝试了所有,所以也许有人知道如何帮助我?
奇怪的是,即使在 127.0.0.1 上我也有这种延迟......(另一方面,我只使用 ffplay udp:// ......)
windows - “标准用户”帐户上 FFDShow 视频解码器上的 System.InvalidCastException
例外:
我的图表:
自定义文件源(异步)-> GDCL Mpeg-4 Demultiplexor -> ffdshow Video Decoder -> Video Renderer
我的图表在管理员帐户上正确构建和播放。但是,当使用“标准用户”帐户时,它会在投射FFDShow过滤器时引发异常。
代码:
创建实例不会引发异常,仅当我尝试在标准用户帐户下投射它时。
附加信息:
- 我的程序设置为 STAThread
- 对象的创建和转换在我的主线程上
codec - 强制 Windows 7 使用自己的 Microsoft MJPG 编解码器来处理 MJPG 文件?
我正在安装一个带有 Windows 7 x64 的系统。此系统需要能够播放使用 Mjpeg 编解码器(“MJPG”)编码的 .AVI 文件
我注意到“开箱即用”,Windows 可以很好地播放这些文件。但是在我安装了 Quicktime 7 之后,由于其他原因需要安装,AVI 文件的 MJPG 播放出现问题(反转场和提升黑电平)不仅在 Quicktime Player 中,而且在 Windows Media Player、Adobe 应用程序等中。
事实证明,Quicktime 在系统上安装了自己的 MJPG 编解码器,显然该编解码器存在问题。我尝试过其他版本的 Quicktime 7,我尝试过 K-Lite 和 XP 编解码器包,我已经单独尝试过 ffdshow/Lav,等等。我尝试过安装第 3 方 MJPG 编解码器,例如 Mainconcept。除了卸载 Quicktime,没有什么能解决问题。但正如我所说,我需要它。
我想做的是强制 Windows 使用它自己的 MJPG 解压缩器,因为它可以正常工作。那将是最干净、最简单的解决方案,这是一台我希望尽可能保持清洁的工作计算机。所以 - 有没有办法编辑注册表或以其他方式告诉 Windows - 始终在所有播放器和所有应用程序中使用您自己的 MJPG 编解码器。永远不要使用Apple安装的那个?
如果这是要付出的代价,我可以弄乱注册表或以其他方式破解系统,但我不知道有任何工具可以帮助手动调整这类事情。我需要知道从哪里开始。
感谢任何可以提供帮助的人 - K
ffdshow - “ffdshow”是什么的缩写?
我搜索了这个站点以及其他一些站点,以获得 ffdshow 的缩写,但根本找不到答案。它可能看起来有点迂腐和奇怪,但我想知道它。那么,有没有人可以回答我 ffdshow 代表什么?
windows - TeamViewer 转换器中没有新的编解码器
视窗 8.1 x64
TeamViewer .tvs 转换选项:
https
://snag.gy/uPAFTH.jpg
1. MJPEG 压缩器
2. Radius 的 Cinepak 编解码器
3. Intel IYUV 编解码器
4. Intel IYUV 编解码器
5. Mircorosft RLE
6. Microsoft Video 1
只有少数('windows 标准')编解码器列表
我已经安装了 K-Lite 编解码器包。也 ffdshow 编解码器分开。但是没有结果
msinfo32 也仅显示这些编解码器
我该怎么做才能在这些列表中提供新的现代编解码器?
视频在不同的播放器中播放,任何需要的编解码器都很好
c# - 如何在 WPF-Mediakit 中使用 ffdshow
默认情况下 LAV 解码器,但我想使用带有硬件加速的 ffdshow 进行解码。我在文件ClassId.cs中看到了这些行
使用的解码器在MediaUriPlayer中定义
所以问题是,如何启用 FFDShowVideoDXVA?解码器的正确名称是什么,或者我在这里完全走错了路?
如果我设法启用 FFDShowVideoDXVA,是否默认启用硬件加速(如果没有,我如何以编程方式启用它?
非常感谢帮助。
ffmpeg - FFmpeg dshow 设备格式列表
我想问是否有任何选项可以在 Windows 上获取 dshow 设备格式列表。
例如在 Linux 上,我可以通过以下方式在 Linux 上获取设备格式列表
在 Windows 上,我可以获取设备列表
和设备选项
但我无法获取格式列表,例如通过 v4l2 在 Linux 上。
如何在 Windows 上通过 FFmpeg 获取 dshow 设备支持的格式列表?
directshow - MS Mpeg-2 Demultiplexer 过滤器内的缓冲区不足
我的捕获图快要死了。我已将问题追溯到 Microsoft Mpeg-2 Demultiplexer 过滤器内的媒体样本缓冲区不足。
处理在 CBaseAllocator::GetBuffer 内停止。池已用尽,线程无限期地休眠等待回收缓冲区。
以下是有关此特定图表的一些事实:
- 源媒体采用高度多路复用的 MPEG2-TS UDP 流的形式。
- 该流包含 14 个标清电视节目,消耗 37.5Mbps 的网络带宽。
- 在流变得严重碎片化的时期(音频和视频解码器发出一连串带有
IsDiscontinuity()
inTRUE
. - 根据windbg(和SOS),没有托管或非托管锁竞争(没有死锁的可能性)。
- 没有“失控”线程的证据(没有陷入无限循环)。
- 该图的最终过滤器是一个 GDCL 桥接盒,然后将解码后的样本桥接到一个 MP4 复用器盒。
- 解复用器视频输出连接到 ffdshow 解码器过滤器的实例。解复用器音频输出连接到 lav 音频解码器过滤器的实例。
我是否正确怀疑问题可能出在 ffdshow 或 lav 过滤器内部?(还有谁可以持有解复用器缓冲区?)
关于如何跟踪解复用器内的缓冲池为何耗尽的任何指针或建议?
c# - DirectShow IVideoWindow 不能大于 4096px
我有一个 C# 应用程序,它使用 DirectShow 来显示播放视频剪辑。我们最近尝试播放 9600x1080 像素的视频,但它不会显示。DirectShow 发出事件,一切。
我们使用 K-Lite 编解码器包 (1295) 并利用 ffdshow libx264 作为编解码器和视频渲染器。使用相同渲染器的 Media Player Classic 可以很好地播放剪辑。我们应用程序的最新版本使用 DirectShow.NET,而旧版本直接调用 DirectShow 接口。我们的应用程序的新旧版本都有相同的问题。
经过一些实验,我们发现了以下几点:
如果视频窗口宽度为 4096 像素或更窄,它将呈现视频。如果是 4097 或更宽,则不会渲染任何视频。我们尝试播放 HD 剪辑和 720 剪辑,结果相同。它们将在视频窗口为 4096x1080 时播放,但在窗口为 4097x1080 或更宽时不会播放。
更改分辨率或图形设置时,应用设置时视频会出现一些闪烁(几帧),这表明它实际上正在播放视频,但它只显示黑色。
在 Windows 10、64 位上测试。
关于我们可以做些什么来解决这个问题的任何想法?
vlc - 正确的 VLC 转码编解码器
我不是 100% 确定我什至在这里问了正确的问题,但基本上我想使用 VLC 将 4k 网络摄像头包装在传输流中,以便我可以将其用作 IPTV 服务器或在一些附加软件中进行排序。
到目前为止我所拥有的:
使用上述dshow
命令,我可以让图片在本地 VLC 会话中完美显示。使用 RTP 命令,我似乎已经成功地将视频卡在传输流中传输到一定程度,因为我可以从客户端 VLC 会话中的流中获取音频。
似乎出错的一点是转码。我为服务器 VLC 会话打印了下面的日志。h.264 似乎不是有效的编解码器,mp4v 也不是(在我的机器上找不到)。
有关如何修复的任何建议?我现在正在为此撕毁我的头发......