Почему команда в ffmpeg с dshow не работает? Я не могу перечислить устройства и не могу захватывать/записывать звук, только видео. Использую Windows 10 Pro.

Вопрос или проблема

Я хочу захватить видео и аудио. Я могу захватывать видео без проблем, но не могу захватить аудио, и когда я ввожу команду list_devices, я получаю эту ошибку:

ffmpeg -list_devices true -f dshow -i dummy

[dshow @ 000002760c57f200] Не удалось перечислить видеоустройства (или не найдено).
[dshow @ 000002760c57f200] Не удалось перечислить только аудиоустройства (или не найдено).
[in#0 @ 000002760c57ee00] Ошибка открытия входа: Запрошен немедленный выход
Ошибка открытия входного файла dummy.

Для захвата видео я использую это:

ffmpeg -f gdigrab -framerate 24 -i desktop -preset ultrafast -pix_fmt yuv420p out.mp4

Что мне нужно сделать, чтобы также захватить аудио из динамиков? Я попробовал это, но это не работает:

ffmpeg -f dshow -i video="UScreenCapture" -f dshow -i audio="Microphone" output.mkv


[dshow @ 000002553861f280] Не удалось перечислить видеоустройства (или не найдено).
[in#0 @ 000002553861ee80] Ошибка открытия входа: Ошибка ввода/вывода
Ошибка открытия входного файла video=UScreenCapture.
Ошибка открытия входных файлов: Ошибка ввода/вывода

И Stereo Mix на моем Windows 10 уже включен.

Ответ или решение

Почему команда ffmpeg с dshow не работает: анализ проблемы

Введение

Проблемы с захватом аудио и видео в ffmpeg на Windows 10 могут возникать по различным причинам, связанным как с настройками системы, так и с конфигурацией самой команды. В данном ответе мы подробно рассмотрим возможные причины неработоспособности команд ffmpeg в вашем случае и предоставим решения для успешного захвата как видео, так и аудио.

Проблема с перечислением устройств

Команда, которую вы использовали для перечисления устройств:

ffmpeg -list_devices true -f dshow -i dummy

возвращает ошибку:

[dshow @ 000002760c57f200] Could not enumerate video devices (or none found).
[dshow @ 000002760c57f200] Could not enumerate audio only devices (or none found).

Причина

Эта ошибка может возникать по нескольким причинам:

  1. Отсутствие подключенных устройств: Убедитесь, что все необходимые устройства — видео- и аудиоустройства — правильно подключены и распознаются системой. Проверьте, что они видны в "Диспетчере устройств".

  2. Неактивные устройства: Возможно, устройства отключены в настройках звука. Перейдите в "Панель управления" > "Звук" и убедитесь, что устройства активны и настроены как основные.

  3. Отсутствие необходимых драйверов: Убедитесь в наличии последней версии драйверов для вашего аудио- и видеоустройства. Устаревшие или отсутствующие драйвера могут привести к проблемам с их обнаружением.

Проблема с захватом аудио

Ваша команда для захвата видео и аудио выглядит следующим образом:

ffmpeg -f dshow -i video="UScreenCapture" -f dshow -i audio="Microphone" output.mkv

И она возвращает ошибку:

[dshow @ 000002553861f280] Could not enumerate video devices (or none found).

Возможные причины

  1. Ошибки в именах устройств: Убедитесь, что вы правильно указали имя устройства в двойных кавычках. Используйте точное название, как оно отображается в списке устройств.

  2. Проблемы с правами доступа: Запустите командную строку от имени администратора, чтобы устранить возможные проблемы с правами доступа к устройствам.

  3. Конфликт с другими приложениями: Если другое приложение в данный момент использует вашу веб-камеру или микрофон, это может помешать их захвату через ffmpeg. Закройте все приложения, которые могут их использовать.

  4. Неправильная конфигурация системы: Попробуйте отключить и снова включить "Stereo Mix" в "Звуковые настройки" Windows. Переходите в "Панель управления" > "Звук" > "Запись" и убедитесь, что "Stereo Mix" активен.

Рекомендации по захвату видео и аудио

Для успешного захвата как видео, так и аудио, используйте следующую команду:

ffmpeg -f dshow -i video="UScreenCapture" -f dshow -i audio="Stereo Mix" -preset ultrafast -pix_fmt yuv420p output.mkv

Убедитесь:

  1. Имя аудиоустройства: Замените "Stereo Mix" на актуальное имя вашего устройства, если это необходимо.
  2. Тестирование устройств: Используйте команду для получения списка всех доступных видео- и аудиоустройств:
ffmpeg -list_devices true -f dshow -i dummy

Запустите эту команду, чтобы проверить, какие устройства распознаются системой, и убедитесь, что они отображаются корректно.

Заключение

Проблемы с захватом аудио и видео в ffmpeg могут быть вызваны рядом факторов, начиная от неправильной конфигурации устройств до программных конфликтов. Убедитесь, что все драйвера обновлены, а устройства правильно настроены. Примените предложенные рекомендации, чтобы упростить процесс захвата и избавиться от ошибок.

Оцените материал
Добавить комментарий

Капча загружается...