Вопрос или проблема
Я хочу захватить видео и аудио. Я могу захватывать видео без проблем, но не могу захватить аудио, и когда я ввожу команду 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).
Причина
Эта ошибка может возникать по нескольким причинам:
-
Отсутствие подключенных устройств: Убедитесь, что все необходимые устройства — видео- и аудиоустройства — правильно подключены и распознаются системой. Проверьте, что они видны в "Диспетчере устройств".
-
Неактивные устройства: Возможно, устройства отключены в настройках звука. Перейдите в "Панель управления" > "Звук" и убедитесь, что устройства активны и настроены как основные.
-
Отсутствие необходимых драйверов: Убедитесь в наличии последней версии драйверов для вашего аудио- и видеоустройства. Устаревшие или отсутствующие драйвера могут привести к проблемам с их обнаружением.
Проблема с захватом аудио
Ваша команда для захвата видео и аудио выглядит следующим образом:
ffmpeg -f dshow -i video="UScreenCapture" -f dshow -i audio="Microphone" output.mkv
И она возвращает ошибку:
[dshow @ 000002553861f280] Could not enumerate video devices (or none found).
Возможные причины
-
Ошибки в именах устройств: Убедитесь, что вы правильно указали имя устройства в двойных кавычках. Используйте точное название, как оно отображается в списке устройств.
-
Проблемы с правами доступа: Запустите командную строку от имени администратора, чтобы устранить возможные проблемы с правами доступа к устройствам.
-
Конфликт с другими приложениями: Если другое приложение в данный момент использует вашу веб-камеру или микрофон, это может помешать их захвату через ffmpeg. Закройте все приложения, которые могут их использовать.
-
Неправильная конфигурация системы: Попробуйте отключить и снова включить "Stereo Mix" в "Звуковые настройки" Windows. Переходите в "Панель управления" > "Звук" > "Запись" и убедитесь, что "Stereo Mix" активен.
Рекомендации по захвату видео и аудио
Для успешного захвата как видео, так и аудио, используйте следующую команду:
ffmpeg -f dshow -i video="UScreenCapture" -f dshow -i audio="Stereo Mix" -preset ultrafast -pix_fmt yuv420p output.mkv
Убедитесь:
- Имя аудиоустройства: Замените "Stereo Mix" на актуальное имя вашего устройства, если это необходимо.
- Тестирование устройств: Используйте команду для получения списка всех доступных видео- и аудиоустройств:
ffmpeg -list_devices true -f dshow -i dummy
Запустите эту команду, чтобы проверить, какие устройства распознаются системой, и убедитесь, что они отображаются корректно.
Заключение
Проблемы с захватом аудио и видео в ffmpeg могут быть вызваны рядом факторов, начиная от неправильной конфигурации устройств до программных конфликтов. Убедитесь, что все драйвера обновлены, а устройства правильно настроены. Примените предложенные рекомендации, чтобы упростить процесс захвата и избавиться от ошибок.