在 Linux 平台上使用 HDMI-USB 适配器进行视频捕获时使用哪种 ffmpeg 视频“格式”

在 Linux 平台上使用 HDMI-USB 适配器进行视频捕获时使用哪种 ffmpeg 视频“格式”

我买了一个 HDMI 转 USB 适配器,用来从电视机顶盒捕获视频电视内容。(如果重要的话,是 Xfinity。我的两个机顶盒是:“XiD X1”...我有 Pace 和 Cisco 两种型号。)

具体来说,这是我从亚马逊购买的适配器:https://www.amazon.com/gp/product/B09FLN63B3

我精通 Windows(Win-11)和 Linux(chromebook 上的 Debian‘Bullseye’)。

这款 HDMI 适配器没有附带任何关于(尝试)使用什么软件/驱动程序的建议,但我已经做好了准备。经过一些谷歌搜索后,我决定首先尝试使用命令行“ffmpeg”程序,因为我对这个(优秀!)开源软件非常熟悉。

因此,在 Win-11 下使用 ffmpeg 的基于 Microsoft 的“dshow”(又名“DirectShow”)成功录制了一两天后,我决定尝试在 Linux 下的 Chromebook 上也使用“ffmpeg”达到同样的成就水平。

[好的……对“(部分)成功”的简要解释。到目前为止,许多试验都导致严重/致命的故障,并且在 Windows 上使用“dshow”格式。本质上,当我尝试将机顶盒中的直播内容或 DVR 内容录制到 MP4 文件时,我遇到了 2 种故障情况:#1:突然,丢弃的数据包激增,我收到“1000 丢弃”黄色消息#2:在其他试验中,我收到“...不包含图像...”。错误似乎与内容的持续时间有关……即,仅持续几分钟的内容几乎总是没有错误,但持续 30 分钟或 60 分钟的内容几乎总是会遇到这些致命错误之一。所以,我决定首先尝试基于 Linux 的方法,然后再花更多精力尝试解决 Windows 上的这些致命故障。]

这是我在 Windows 操作系统下试用的 ffmpeg cmd:

ffmpeg -f dshow -t 3600 -loglevel warning -framerate 30 -rtbufsize 800M -i video="USB 视频":audio="数字音频接口 (2- USB 数字音频)" -b:v 800K -s 1280x720 -vf "setdar=dar=0,setsar=sar=0,mpdecimate" -vcodec libx264 -acodec aac video-out.mp4

我遇到的第一个障碍是,我发现“dshow”似乎是“Windows”所特有的,因此 ffmpeg 在我引用“dshow”时显示为“未知”。经过几个小时的“猜测”,我终于了解到/得出结论,Linux 还有其他东西(一种称为“DeckLink”的东西就是其中一种替代品?),但我不清楚可能存在哪些额外的 Linux 软件包来支持 ffmpeg,或者我是否需要构建更完整的“ffmpeg”(例如从源代码构建),才能在 Linux 下运行?

我的设备是否可以更轻松地通过除“ffmpeg”之外的其他工具(例如 VLC 或 Handbrake 或其他?)在 Linux 或 Windows 平台上访问?

答案1

我得出的结论是,“ffmpeg”软件使用微软提供的“dshow”格式进行视频捕获并不可靠。

我找到了一个完美的免费替代品:“OBS Studio” https://obsproject.com/wiki/install-instructions

为了了解该软件的基本“设置”,我在 YouTube.com 上找到了一些 OBS Studio 教程。

[我在亚马逊上关于我的 HDMI-USB 适配器的一篇评论中发现了这款软件。]

相关内容