브라우저의 플래시는 Pulse 네트워크 오디오를 사용하여 사운드를 정확하게 재생하지 않습니다


18

PulseAudio를 사용하여 LAN을 통해 사운드를 오디오 서버로 보냅니다.

Firefox 또는 Chrome에서 Flash 미디어를 재생할 때 볼륨이 매 초마다 오르 내리는 것처럼 사운드가 떨립니다 ( :) .

다음 단계를 수행하면 소리가 펄럭 거리는 것을 막을 수 있음을 발견했습니다.

  • YouTube의 비디오와 같은 플래시 비디오를 시작합니다

  • 실행 pulseaudio --kill상의 서버

  • 약 7 초간 기다리십시오

그런 다음 PulseAudio 서버가 자동으로 다시 생성되며 Flash 비디오의 사운드는 정상입니다.

문제는 Flash 비디오를 시작할 때마다이 작업을 수행해야한다는 것 입니다. 이것은 분명히 바람직하지 않습니다.

이 단계를 거칠 때 소리가 들리지 않게하려면 어떻게해야합니까?

누군가가 즉각적이고 간단한 해결책을 제시 할 것이라는 점을 의심하기 때문에 (바람직하지만) 현상금은 최소한 문제를 해결하는 방법을 제공하는 사람에게 갈 수 있습니다.


세부

여기 내 사운드 장치 출력 설정이 있습니다. 내가 알 수있는 한, 네 장치 모두 정확히 동일한 물리적 장치를 가리 킵니다.

소리 설정

PulseAudio 로그 출력 , 플래시 비디오를 재생하는 동안 가져옵니다.

Flash에서 로깅 세부 정보를 얻으려고 시도했지만 디버깅을 위해 Flash를 설치하고 활성화했지만 아무 출력도 생성하지 않았습니다 .

다른 소프트웨어에서는 문제가 발생하지 않으므로 Flash가 내 사운드 설정과 상호 작용하는 방식과 관련이 있다고 확신합니다.

다음은 도움이 될만한 오류 출력입니다.

$ cat /var/log/syslog | grep pulseaudio
Jul 30 01:40:08 mythbuntu pulseaudio[17388]: [pulseaudio] module.c: Failed to open module "module-esound-protocol-tcp": file not found
Jul 30 01:40:08 mythbuntu pulseaudio[17388]: [pulseaudio] module-gconf.c: pa_module_load() failed
Jul 30 01:40:08 mythbuntu pulseaudio[17388]: [pulseaudio] module.c: module-combine is deprecated: Please use module-combine-sink instead of module-combine!
Jul 30 01:40:08 mythbuntu pulseaudio[17388]: [pulseaudio] module-combine.c: We will now load module-combine-sink. Please make sure to remove module-combine from your configuration.
Jul 30 01:55:07 mythbuntu pulseaudio[17406]: [pulseaudio] module.c: Failed to open module "module-esound-protocol-tcp": file not found
Jul 30 01:55:07 mythbuntu pulseaudio[17406]: [pulseaudio] module-gconf.c: pa_module_load() failed
Jul 30 01:55:07 mythbuntu pulseaudio[17406]: [pulseaudio] module.c: module-combine is deprecated: Please use module-combine-sink instead of module-combine!
Jul 30 01:55:07 mythbuntu pulseaudio[17406]: [pulseaudio] module-combine.c: We will now load module-combine-sink. Please make sure to remove module-combine from your configuration.
Jul 30 02:04:43 mythbuntu pulseaudio[17433]: [pulseaudio] module.c: Failed to open module "module-esound-protocol-tcp": file not found
Jul 30 02:04:43 mythbuntu pulseaudio[17433]: [pulseaudio] module-gconf.c: pa_module_load() failed
Jul 30 02:04:43 mythbuntu pulseaudio[17433]: [pulseaudio] module.c: module-combine is deprecated: Please use module-combine-sink instead of module-combine!
Jul 30 02:04:43 mythbuntu pulseaudio[17433]: [pulseaudio] module-combine.c: We will now load module-combine-sink. Please make sure to remove module-combine from your configuration.

여기로부터 출력 pactl list으로부터 서버 (스피커 컴퓨터) .

여기에서 출력 pactl list에서 클라이언트는 .


소스 / 싱크 사이에는 어떤 종류의 네트워크 연결이 있습니까?
ish

@izx : "소스 / 싱크"가 무슨 뜻인지 모르겠습니다. 이것이 "서버 / 클라이언트"라고 말하는 또 다른 방법이라면 이더넷 LAN 연결입니다. 그것이 다른 것이라면, 당신이 의미하는 바를 설명해야합니다.
Questioner

데이브, 대화방에 참여할 수 있습니까? 아마도 해결책이 있지만 이야기가 필요하다고 생각합니다.
ish

그렇지 않다면, 나는 유무선을 의미했고, 유선 = 100 MBps 라우터 등의 무선 통신 = 802.11G, N 등과 같은 세부 사항을 의미했습니다.
ish

@izx : 아, 알겠습니다. 그들 사이에 라우터가있는 유선 LAN입니다. 100MBps라고 생각합니다. 클라이언트는 1GBps는 가능하지만 서버 LAN 카드는 여전히 100GBps라고 생각합니다. 그것이 중요하고 정확한 속도를 얻기 위해 실행할 수있는 명령이 있으면 알려주십시오.
Questioner

답변:


10

머리말

나는 실험에서 Dave의 문제를 재현 할 수 있었으며 Flash가 어떻게 든 많은 네트워크 트래픽을 생성하는 방식으로 FlashAudio가 PulseAudio로 사운드를 전송한다고 믿게 만들었습니다. 이는 PulseAudio가 생성 한 네트워크 "터널"을 압도합니다.

Youtube => [PA-client => network => PA-server] => speakers

클라이언트와 서버를 자체 가상 네트워크에 배치하여 그들 사이에 무한히 빠른 연결 (10 Gbits / sec)을 제공함으로써 문제를 해결할 수있었습니다. 분명히, 그것은 실제 네트워크에서는 작동하지 않습니다 :)

그래서, 인터넷 검색의 비트와 이 게시물이 하나 나에게 즉, (데이브가 적절하게 넣어 같이 중개인) 터널을 삭제하고 서버에 직접 클라이언트의 이야기를 가지고있는 생각을했다

Youtube => network => PA-server => speakers

그리고 그것은 나를 위해 일했습니다. 플래시 비디오 / 사운드가 완벽하게 재생됩니다.

해 봅시다!

이것은 클라이언트 서버가 로컬 네트워크 (라우터 등)에 있다고 가정합니다.

  1. 예비 : 클라이언트 시스템에서 기존 설정이있는 경우 모든 항목을 열고 paprefs선택을 취소하십시오 . 그런 다음 PulseAudio를 종료하십시오.

  2. 서버 시스템 (예 : 스피커가있는 시스템)에서 PA 기본 설정 ( paprefs)을 시작 하고 다음과 같이 설정하십시오.

    여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오 여기에 이미지 설명을 입력하십시오

    • 그런 다음 닫고 표시된대로 터미널에서 PulseAudio를 종료하고 기다렸다가 포트 4713에서 수신 중인지 확인하십시오.

    여기에 이미지 설명을 입력하십시오

    • 표시되지 않으면 paprefs다시 열어서 네트워크 액세스 및 네트워크 서버 탭의 나머지 상자를 확인하십시오 (다 치지 않음).

    • 서버의 IP 주소 사용 ifconfig등 을 알고 있는지 확인하십시오 192.168.0.4.이 예 에서는 사용할 것 입니다.

  3. 클라이언트 컴퓨터에서 음성 샘플 WAV를 사용하여 터미널을 열고 직접 연결을 먼저 테스트하십시오 (192.168을 서버 IP로 교체 하십시오 !).

    wget http://www.signalogic.com/melp/EngSamples/Orig/female.wav
    paplay --server = 192.168.0.4 : 4713 female.wav
    
    • 작동하면 Ctrl-C로 중단하면 지루해질 수 있습니다.)

이제 실행중인 모든 브라우저 인스턴스를 닫은 다음 시작하십시오 (Firefox를 다음 구문으로 가정).

PULSE_SERVER=192.168.0.4:4713 firefox &
  • 192...서버에 적합한 IP로 교체하십시오 !

  • 해당 Firefox 인스턴스에서 Youtube (또는 Flash 비디오 사이트)를 열고 손가락으로 교차 한 비디오를 재생 해보십시오.

스틱 만들기

이 수정 사항을 모든 PULSE_SERVER=192.168.0.4:4713명령 앞에 두지 않고 모든 프로그램에 적용 /etc/environment하려면 클라이언트 에서 편집 PULSE_SERVER=192.168.0.4:4713하고 파일 끝에 새 줄을 추가 하십시오. 또한 끝에 줄 바꿈을 추가하십시오.

이렇게하면 클라이언트의 모든 사운드가 Pulseaudio 서버로 이동하므로 /etc/environment파일을 편집하기 전에 원하는 것이 맞는지 확인하십시오 .

재부트하고 재미있는 오디오 경험을 즐기십시오. ;)


방해가되는 방화벽이 있습니까? 그리고 당신은 192.168.0.4를 어디에나 놓았습니다. 그래도 female.wav작동하지 않더라도 파이어 폭스를 사용해보십시오 ...
ish

Argh, 나는 한 걸음을 잊었다 – /etc/pulse/system.pa 클라이언트의 끝에이 줄을 추가해라 : load-module module-native-protocol-tcp auth-anonymous=1; 저장하고, pulseaudio를 죽이고, 지금 시도하십시오.
ish

예, 클라이언트-서버의 paprefs 설정이 이미 활성화되어 있어야합니다. 서버에도 추가 할 수 있고 아프지 않을 것입니다.
ish

@DaveMG : 죄송합니다. 현재 클라이언트에서이 두 줄의 주석 처리를 제거했다고 가정했습니다. 죄송합니다. 마지막 날로 바빴고 계속되지 않았습니다. JST 11:30 AM 쯤에 다시 시작하고 다시 시작할 수 있습니다. 한편, 내가 만든 기본 터널 설정에 대한이 두 가지 비디오를 발견 할 수 있습니다. stuttering , working
ish

아시다시피, 답변을 편집하고 의견을 통합 하여이 답변을 읽는 사람에게 조금 더 명확합니다 (그래서 내 의견이 제거되는 이유). load-module module-native-protocol-tcp auth-anonymous=1;라인에 /etc/pulse/system.pa응답을 포함시켜야 하는지 아니면 폐기 할 수있는 진단 프로세스의 일부인지 궁금합니다.
Questioner

3

문제가 Gnash 인 경우 여기에 문제를 해결하는 방법이 있습니다.

모든 브라우저를 닫고 다음 명령을 실행하십시오.

sudo apt-get purge gnash mozilla-plugin-gnash adobe-flashplugin

그런 다음이 sudo apt-get install adobe-flashplugin

이 문제는 해결되었습니다. 기본적으로 Gnash와 관련된 모든 것을 제거하고 Flash를 설치합니다.


그것이 작동하는지
말해줘

제안 해 주셔서 감사합니다. 그러나 업데이트 된 질문에 따라 플래시 플러그인을 변경해도 문제가 해결되지 않는 것 같습니다.
Questioner

2

문제가 플래시 플레이어와 관련이 있다고 생각합니다.

환경에 따라 appx 플래시 버전을 설치 하는 FireFox 플러그인 Flash-Aid 가 있습니다.


팁 고마워. 다운로드하여 설치하고 몇 가지 다른 Flash 변형을 시도했습니다. 불행히도, 사운드 펄스 문제가 지속됩니다.
Questioner

2

플래시 플레이어를 마우스 오른쪽 버튼으로 클릭하고 설정 (새로 고침)을 클릭하면 하드웨어 가속 사용 확인란을 선택 취소 (비활성화)하여 비디오 색상 반전 문제를 해결할 수있었습니다 .

나는 당신과 같은 오디오 말더듬 문제가 있습니다. 그것은 처음에 작동하고 잠시 후에 말더듬이 시작됩니다. 누군가가 이것을 고칠 수 있기를 바랍니다. 펄스 오디오 서버를 우회하여 소리를 얻는 방법에 대해 궁금하지만 (네트워크 오디오가 필요없는 랩톱을 사용하고 있습니다) .

(Firefox Kubuntu 12.04 amd64에 Flash 11.2 r202가 있습니다)


제안 해 주셔서 감사합니다. 하드웨어 가속을 활성화 및 비활성화하려고 시도했지만 아무런 변화가없는 것 같습니다. 또한 "펄스 오디오 우회"의 의미를 잘 모르겠습니다.
Questioner

2

MIXX dj Player가 설치되어 있습니까? 때로는 사운드 서버와 엉망입니다. Atleast를 설치하면 기본 사운드 테마 "ubuntu"가 freedesktop으로 변경됩니다.

Ubuntu 소프트웨어 센터에서 "PulseAudio Preferences"를 설치해보십시오.
네트워크와 관련된 구성 옵션이 있습니다.


1

나는 같은 문제가 있으며 아직 그 문제에 대한 완벽한 해결책을 찾지 못했습니다. 도움이 될만한 몇 가지 사항을 확인했습니다.

1) 플래시로 인해 발생하지만 때로는 html5 버전의 YouTube에서도 발생합니다. 이것도 당신을 위해 발생합니까? ( http://www.youtube.com/html5/ 여기에서 html5 버전의 youtube를 활성화 할 수 있습니다). 이것은 문제가 플래시에만 국한된 것이 아님을 암시합니다 (그러나 어쩌면 브라우저일까요?)

2) 출력 장치를 로컬 장치로 설정 한 다음 원격 서버로 다시 설정하여 pavucontrol을 사용하여 서버로 가지 않고도 사운드가 올바르게 작동하도록 할 수 있습니다. 오디오의 끊김 현상과 비디오의 임의의 일시 정지 및 건너 뛰기를 해결합니다. 이 아아는 다음 비디오가 시작될 때까지만 작동합니다.

3) 나는이 문제를 인터넷 검색하는 동안 문제가 클라이언트의 시계 카운터와 관련이 있으며 서버가 올바르게 연결되지 않았으며 서버를 다시 시작하거나 클라이언트 (즉, 포인트 2). 나는 당신을 위해 그것을 파 내려고 노력할 것입니다.

약속 된 토론을 찾을 수 없지만 타이머 기반 일정에 대한 몇 가지 배경 정보를 찾았습니다. http://0pointer.de/blog/projects/pulse-glitch-free.html


내가 우주에서 혼자가 아님을 알려주는 +1! 포인트 1의 경우,이 문제를 해결하는 동안 html5 버전의 YouTube를 사용해 보았지만 비디오가 올바르게 재생되지 않고 완전히 다른 방식으로 진행되었으므로 결정적이지 않은 것으로 느꼈습니다 (아마 다른 문제 일 수 있음). 포인트 2의 경우, 그것은 흥미롭고 그것이 저에게도 효과가 있는지 볼 것입니다. 동일한 문제에 대한 다른 해결 방법처럼 보입니다. 그리고 포인트 3은 원인에 대한 실제 설명으로 나아 가기 시작할 가능성이 있기 때문에 가장 고무적인 정보입니다. 응답 해 주셔서 감사합니다!
Questioner

문제 없어요. 내가 언급 한 정보를 찾았지만 다시 찾을 수 없었습니다.
HansHarhoff

1
런치 패드에 버그 보고서를 게시했습니다. bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/1030559 이것이 우리에게 몇 가지 지침을 제공하는지 봅시다.
HansHarhoff

좋은. 버그에 대한 의견을 게시 했으므로 모든 업데이트에 대해 알려 드리겠습니다. 특정 소프트웨어 충돌이 없을 때 버그 보고서를 작성할 수있는 방법으로 Apport를 사용하는 방법을 알 수 없었기 때문에 자체 버그 보고서를 게시하지 않았습니다.
Questioner

1

이 페이지를 마침내 발견하게되어 정말 기쁩니다.

우분투의 많은 버전 (padevchooser가 버려 졌을 때 불쾌 해지 기 시작 했음)부터 아치와 함께이 문제가 발생했습니다. 브라우저를 시작하기 전에 환경 변수 PULSE_SERVER를 설정하고 내보내는 솔루션은 항상 나에게 효과적이었습니다. 서버에서 아무것도 변경하지 않아도됩니다.

그러나 이해하지 못하는 한 가지가 있습니다. 데스크탑 환경 내부의 터미널 에서 브라우저 (Chromium)를 시작 하면 사운드가 작동합니다. 정상적으로 실행 되는 런처 (Xfce, Gnome, ...) 에서 브라우저를 시작하면 위에 설명 된 문제가 있습니다. 나는 그것이 X11 환경 변수와 관련이 있다고 생각하지만 이것은 내 능력을 뛰어 넘습니다.

나를 위해 chromium.desktop파일 을 편집하고 거기에 Pulse-Server를 추가하여 문제를 해결 했습니다.

Exec=sh -c "PULSE_SERVER=mice.local chromium %U"


1

미디어를 완벽하게 실행하려면 파이어 폭스에 이러한 플러그인이 있어야합니다. 가지고있는 것과없는 것을 확인하십시오.

프로필은 다음과 같아야합니다.


0

모듈 터널 싱크를 사용하는 동안 말더듬을 해결하는 솔루션을 찾았습니다.

Flash Player 버전 10.3을 다운로드하기 만하면됩니다 (하드웨어 가속 지원 기능이있어 Adobe는 버전 11에서이 기능을 중단했습니다).

여기 x86_64 바이너리가 있습니다

디렉토리에 추출 libflashplayer.so라이브러리 를 설치 ~/.mozilla/plugins하거나을 사용하여 현재 링크를 변경하십시오 update-alternatives.

10.3 버전에는 많은 보안 취약점이 있으므로 사용자 자신의 책임하에 사용해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.