오디오가 포함된 VLC 스트리밍 웹캠 비디오

오디오가 포함된 VLC 스트리밍 웹캠 비디오

Linux Mint 18.1 32비트, Logitech pro 9000, vlc 2.2.2 사용

많은 웹사이트에서 팁을 검색해 보니 동영상을 녹화할 수 있는 곳은 많았지만 동영상과 오디오를 동시에 스트리밍하거나 녹화할 수 있는 곳은 없었습니다.

가장 가까운 곳은 다음과 같습니다.VLC가 명령줄을 통해 웹캠에서 녹화하도록 할 수 없습니다. 비디오를 스트리밍하지만 오디오는 재생하지 않습니다.

cvlc v4l2:// :input-slave=alsa:// :v4l-vdev="/dev/video0" :v4l-norm=3 \
  :v4l-frequency=-1 :v4l-caching=300 :v4l-chroma="" :v4l-fps=-1.000000 \
  :v4l-samplerate=44100 :v4l-channel=0 :v4l-tuner=-1 :v4l-audio=-1 :v4l-stereo \
  :v4l-width=480 :v4l-height=360 :v4l-brightness=-1 :v4l-colour=-1 :v4l-hue=-1 \
  :v4l-contrast=-1 :no-v4l-mjpeg :v4l-decimation=1 :v4l-quality=100 \
  --sout="#transcode{vcodec=theo,vb=2000,fps=12,scale=0.67,acodec=vorb,ab=90,channels=1,samplerate=44100}:standard{access=file,mux=ogg,dst=output.ogg}"

비디오 및 오디오를 재생하는 명령을 어떻게 수정합니까?

편집하다

Pulseaudio가 실행 중입니다.

$ ps axu | grep pulse
bill 1553 0.0 0.5 176268 10456 ? S<l 15:15 0:02 /usr/bin/pulseaudio --start --log-target=syslog

오디오 장치 목록:

$ arecord -l **** List of CAPTURE Hardware Devices ****
card 0: Intel [HDA Intel], device 0: STAC9200 Analog [STAC9200 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Q9000 [QuickCam Pro 9000], device 0:
  USB Audio [USB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0 

답변1

Linux 오디오에 대한 간략한 검토: 오늘날 기본적으로 모든 장치 드라이버는 ALSA의 일부입니다. ALSA는 독립형으로 사용할 수 있지만 기본적으로 모든 배포판은 어떤 면에서 더 나은 경험을 제공하는 Pulseaudio를 실행합니다. Pulseaudio에는 이전 ALSA 전용 응용 프로그램이 pulseALSA 장치(ALSA 장치라고 함)인 것처럼 가장하여 Pulseaudio를 사용할 수 있도록 허용하는 호환성 레이어가 포함되어 있으며 , ALSA 장치 드라이버는 ALSA 장치 드라이버를 사용합니다.

시스템은 다음과 같습니다. 두 개의 오디오 장치(내부 장치 및 카메라)가 있습니다.

따라서 사용하면 --input-slave=alsa://vlc는 Pulseaudio에 액세스하는 호환성 레이어를 사용하고 원하는 장치를 추측하고 웹캠이 아닌 내부 장치인 첫 번째 장치를 제공합니다. 그래서 소리가 나지 않았습니다.

녹음하는 동안 pavucontrol(또는 GUI가 없는 pacmd경우 ) 이 기능을 사용하여 녹음 소스를 변경할 수 있습니다. Pulseaudio 설정에 따라 이 선택은 일반적으로 다음에 기억되므로 한 번만 수행하면 됩니다.pactlvlc

또는 더 나은 방법은 vlc에게 먼저 Pulseaudio를 사용하도록 지시하는 것입니다. --input-slavevlc에 대한 올바른 문서를 빨리 ​​찾을 수 없었지만 Google 결과는 --input-slave=pulse그것이 작동한다고 제안하며 --input-slave=pulse://pulseaudio_source_name실제로 올바른 카드(Pulseaudio에서는 "음원"이라고 함)를 지정할 수 있는 몇 가지 구문이 있을 수 있습니다.

편집하다

이것소스 코드형식은 이고 pulse://SOURCE세부 사항은 지정되지 않았으므로 이렇게 할 수 있을 것 같습니다.

pactl list short sources

pulse://alsa_input.usb-XXX-YYY그런 다음 Pulseaudio 소스 이름과 같은 이름을 지정하십시오 . 마찬가지로 pavucontrol필요한 경우 소스를 재배포할 수 있습니다.

관련 정보