
Я купил адаптер HDMI-USB, чтобы использовать его для захвата видеоконтента ТВ с приставки моего телевизора. (Xfinity, если это имеет значение. У меня две приставки: «XiD X1»... У меня есть модели Pace и Cisco.)
Вот конкретно тот адаптер, который я купил на Amazon:https://www.amazon.com/gp/product/B09FLN63B3
Я свободно работаю как с Windows (Win-11), так и с Linux (Debian «Bullseye» на Chromebook).
Этот HDMI-адаптер не поставляется с рекомендациями по поводу того, какое программное обеспечение/драйверы (попытаться) использовать, но я был к этому готов. После некоторых поисков в Google я решил сначала попробовать использовать программу cmd-line 'ffmpeg', потому что я довольно хорошо знаком с этим (превосходным!) программным обеспечением с открытым исходным кодом.
Итак, после дня или двух (некоторых) успешных записей под Win-11 с использованием «dshow» от Microsoft на базе ffmpeg (он же «DirectShow»), я решил попытаться достичь того же уровня достижений на моем Chromebook под Linux, также используя «ffmpeg».
[Ладно... очень краткое объяснение "(некоторого) успеха". Многочисленные попытки до сих пор приводят к серьезным/фатальным сбоям и используют формат "dshow" в Windows. По сути, когда я пытаюсь записать либо прямой эфир, либо DVR-контент с приставки в файл MP4, я получаю 2 сценария сбоя: #1: Внезапно количество потерянных пакетов резко возрастает, и я получаю желтое сообщение "1000 dropped" #2: В других попытках я получаю "...не содержит изображения...". Ошибки, похоже, зависят от продолжительности контента... то есть контент, длящийся всего несколько минут, почти всегда без ошибок, но контент, длящийся 30 минут или 60 минут, почти всегда сталкивается с одной из этих фатальных ошибок. Поэтому я решил, что сначала стоит попробовать подход на основе Linux, прежде чем тратить еще больше усилий на устранение этих фатальных сбоев в Windows.]
Вот команда ffmpeg, которую я использую в своих испытаниях под ОС Windows:
ffmpeg -f dshow -t 3600 -loglevel warning -framerate 30 -rtbufsize 800M -i video="USB Video":audio="Цифровой аудиоинтерфейс (2-USB Digital Audio)" -b:v 800K -s 1280x720 -vf "setdar=dar=0,setsar=sar=0,mpdecimate" -vcodec libx264 -acodec aac video-out.mp4
Моя первая загвоздка, когда я узнал, что 'dshow', похоже, специфичен для 'Windows', и поэтому ffmpeg получил 'неизвестный' для моей ссылки на 'dshow'. После нескольких часов 'угадайки' я, наконец, узнал/пришел к выводу, что есть и другие вещи (что-то под названием 'DeckLink' является одной из таких альтернатив?) для Linux, но я не совсем понимаю, какие дополнительные пакеты Linux могут существовать для поддержки ffmpeg, или мне нужно будет собрать более полный 'ffmpeg' (например, из исходного кода), чтобы все заработало под Linux?
Можно ли получить доступ к моему устройству с помощью других инструментов, помимо «ffmpeg»? (например, VLC или Handbrake или что-то еще?) проще, на платформе Linux или Windows?
решение1
Я пришел к выводу, что программное обеспечение «ffmpeg» ненадежно для захвата видео, поскольку использует формат «dshow», предоставленный Microsoft.
Я нашел бесплатную альтернативу, которая работает отлично: «OBS Studio» https://obsproject.com/wiki/install-instructions
Чтобы изучить основные «настройки» этого программного обеспечения, я нашел несколько руководств по OBS Studio на YouTube.com.
[ Я нашел это программное обеспечение, упомянутое в одном из обзоров моего адаптера HDMI-USB на Amazon. ]