Команда терміналу для запису аудіо через мікрофон macbook?


6

Чи є команда, яку ми можемо використовувати через термінал, щоб почати запис аудіо через мій мікрофон macbook?

Відповіді:


8

Використовуйте FFMPEG .

(Це стало однією з моїх улюблених утиліт командного рядка для перетворення відео / аудіо та трансляції). Це рамка з відкритим кодом для кодування аудіо / відео, декодування, трансляції, перетворення та муксингу. Він входить до багатьох (платних) AV-утиліт.

Ви можете захоплювати звук як потік за допомогою Apple AVVoundation.

Отримати ідентифікатор пристрою

$ ffmpeg -f avfoundation -list_devices true -i ""

[AVFoundation input device @ 0x7fda1bc152c0] AVFoundation video devices:
[AVFoundation input device @ 0x7fda1bc152c0] [0] FaceTime HD Camera (Built-in)
[AVFoundation input device @ 0x7fda1bc152c0] [1] Capture screen 0
[AVFoundation input device @ 0x7fda1bc152c0] AVFoundation audio devices:
[AVFoundation input device @ 0x7fda1bc152c0] [0] USB Audio CODEC
[AVFoundation input device @ 0x7fda1bc152c0] [1] Built-in Microphone

Пристрій, який вам знадобиться, це ": 1" AVFoundation використовує конвенцію "V: A" для "Відео: Аудіо", тому, якщо ви хочете захоплювати відео з камери FaceTime, аудіо з мікрофона, ви використовуєте "0: 1". Якби ви хотіли лише аудіо, скористайтеся ": 1" і залиште відео.

Запис аудіо:

$ ffmpeg -f avfoundation -i ":1" -t 10 audiocapture.mp3

Вищевказана команда записуватиме 10 секунд аудіо із вбудованого мікрофона та збереже його як audiocapture.mp3. Ви можете встановити, як довго потрібно записувати FFMPEG, змінивши значення для -t. Якщо ви хочете записати повну годину, встановіть її на "3600".

$ ffmpeg -f avfoundation -i ":1" -t 3600 audiocapture.mp3

Що означають прапори

  • -f= "формат сили". У цьому випадку ми змушуємо використовувати AVFoundation
  • -i= вхідне джерело. Зазвичай це файл, але ви можете використовувати пристрої.
    • "0:1" = Запис аудіо та відео з камери FaceTime та вбудованого мікрофона
    • "0" = Запис лише відео з камери FaceTime
    • ":1" = Записуйте лише аудіо із вбудованого мікрофона
  • -t= час у секундах Якщо ви хочете, щоб він працював нескінченно, поки ви не зупините його ( ControlC), опустіть це значення (не рекомендується)

Об'єм введення

Майте на увазі, що ви використовуєте вбудований мікрофон, який для початку не чудово. Переконайтеся, що ви встановили посилення достатньо високого рівня (Системні налаштування, Звуки), щоб мікрофон міг вас почути. Напевно, найкраще замість цього отримати якісний USB-мікрофон.


1
Це чудово працює, дякую. Що саме таке -f, -iі -tтут? Для чого вони виступають? t = час? -i = вхід? -f = ??
користувач290246

1
Чи можна було б передати вихід ffmpeg в іншу команду, як SSH? ffmpeg -f avfoundation -i ":1" -t 10 | ssh user@host -. Це не працює, ffmpeg скаржиться "Потрібно вказати принаймні один вихідний файл"
user290246

1
Не сприяє передачі висновку в SSH-потік . Ви можете ffmpegпередавати потік на декілька виходів, включаючи файл і потік (наприклад, потокову музику). Дивіться: trac.ffmpeg.org/wiki/Creating%20multiple%20outputs
Аллан

1
Yikes. Вся інформація про кодеки та фільтрування трохи над головою. Якби я створив тут нове запитання, ви спробуєте відповісти на нього?
користувач290246

Я зроблю його найкращим чином… Я, можливо, не дістанусь до нього відразу. Я просто реагую на речі на даний момент ..
Аллан
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.