Audio aus jeder Quelle aufnehmen

29.05.2019 | Bash | Linux

Verlustfrei einen Audio-Stream sichern.

1. aktive Quelle herausfinden:

pactl list sources | egrep 'Status|Name'


ergibt z.B.

	Status: SUSPENDED
	Name: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_5__sink.monitor
	Status: SUSPENDED
	Name: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_4__sink.monitor
	Status: SUSPENDED
	Name: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_3__sink.monitor
	Status: RUNNING
	Name: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__sink.monitor
	Status: SUSPENDED
	Name: alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__source
	Status: SUSPENDED
	Name: alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp_6__source
Aktiv kann entweder RUNNING oder IDLE sein.

2. Monitor-Quelle wählen und Aufnahme des Streams (Kopie) starten:

ffmpeg -hide_banner -fflags +igndts -f pulse -i alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__sink -rf64 auto -vn -acodec copy <ZIELPFAD UND DATEI>.wav

Das Ergebnis ist eine Datei mit dem verlustfreien Audiostream in der höchstmöglichen Qualität, die das Ausgangsmaterial und die Hardware hergeben, hier z.B. 

  Stream #0:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s

3. Verlustfreie Kompression z.B. als flac 

flac datei.wav

 

4. mit Tagging-Tools wie easytag könnte man der flac-Datei dann noch Metadaten mitgeben

 

Für die Kommandozeile gibt es metaflac.