[FFmpeg-trac] #9408(undetermined:new): WASAPI Audio Input/Output Support

FFmpeg trac at avcodec.org
Sun Sep 5 04:38:59 EEST 2021


#9408: WASAPI Audio Input/Output Support
-------------------------------------+-------------------------------------
             Reporter:  Brad Isbell  |                     Type:
                                     |  enhancement
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:
  undetermined                       |  unspecified
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 The Windows Audio Session API (WASAPI) is a modern API for audio
 playback/capture under Windows.  It offers several benefits over the
 current DirectShow implementation in FFmpeg:

  - [https://docs.microsoft.com/en-us/windows/win32/api/mmreg/ns-mmreg-
 waveformatextensible Multi-channel support]
  - [https://docs.microsoft.com/en-us/windows/win32/coreaudio/loopback-
 recording Loopback capture], for both entire output devices and for
 individual streams from applications
  - [https://docs.microsoft.com/en-us/windows/win32/api/audioclient/nf-
 audioclient-iaudioclient-initialize Low-latency I/O] without the need for
 proprietary ASIO
  - [https://docs.microsoft.com/en-us/windows/win32/coreaudio/exclusive-
 mode-streams Exclusive mode] for further reducing latency

 == Sample Usage ==

 Capture from multichannel soundcard:

 {{{
 ffmpeg -f wasapi -ar 96000 -ac 8 -i device="My Multichannel Soundcard" …
 }}}

 Capture in exclusive mode from soundcard named 'Soundcard':

 {{{
 ffmpeg -f wasapi -exclusive_mode true -i device="Soundcard" …
 }}}

 Capture loopback from soundcard named 'Soundcard':

 {{{
 ffmpeg -f wasapi -i loopback_device="Soundcard" …
 }}}

 Capture loopback from entire system:

 {{{
 ffmpeg -f wasapi -i loopback_system=true …
 }}}

 Capture loopback from app by name or PID:

 {{{
 ffmpeg -f wasapi -i loopback_application_pid=54321 …
 ffmpeg -f wasapi -i loopback_application_name="Skifree" …
 }}}
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/9408>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list