Flash trong trình duyệt không phát âm thanh chính xác bằng âm thanh mạng Pulse


18

Tôi sử dụng PulseAudio để gửi âm thanh qua mạng LAN đến một máy chủ âm thanh.

Khi phát bất kỳ phương tiện Flash nào trong Firefox hoặc Chrome, âm thanh sẽ rung ( ví dụ ), như thể âm lượng tăng giảm mỗi giây.

Tôi đã phát hiện ra rằng tôi có thể dừng âm thanh rung nếu tôi làm theo các bước sau:

  • Bắt đầu một video Flash, chẳng hạn như một video trên YouTube

  • Chạy pulseaudio --killtrên máy chủ

  • Đợi khoảng 7 giây

Sau đó, máy chủ PulseAudio sẽ tự động bật lại và âm thanh trong video Flash vẫn ổn.

Vấn đề là tôi phải làm điều này mỗi lần tôi bắt đầu một video Flash. Điều này rõ ràng là không mong muốn.

Làm thế nào để tôi tạo ra bất cứ thứ gì làm cho âm thanh hoạt động khi tôi trải qua các bước này để tôi không phải làm chúng?

Tôi nghi ngờ rằng ai đó sẽ đưa ra cách khắc phục ngay lập tức và đơn giản (mặc dù điều đó sẽ tốt), vì vậy tiền thưởng có thể được gửi đến bất kỳ ai cung cấp ít nhất một phương pháp khắc phục vấn đề.


Chi tiết

Dưới đây là cài đặt đầu ra thiết bị âm thanh của tôi. Theo như tôi có thể nói, cả bốn thiết bị đều chỉ đến cùng một thiết bị vật lý.

cài đặt âm thanh

Đầu ra nhật ký PulseAudio , được thực hiện trong khi thử phát video Flash.

Tôi đã cố gắng để có được thông tin đăng nhập từ Flash, nhưng mặc dù đã cài đặt và bật Flash để gỡ lỗi, nhưng nó vẫn không tạo ra bất kỳ thông số nào .

Vấn đề không xảy ra với bất kỳ phần mềm nào khác, vì vậy tôi chắc chắn chắc chắn nó cụ thể về cách Flash tương tác với âm thanh của tôi được thiết lập.

Đây là một số lỗi đầu ra có thể hữu ích:

$ 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.

Đây là kết quả từ pactl listtừ máy chủ (máy tính với loa) .

Đây là kết quả từ pactl listtừ khách hàng .


Những loại kết nối mạng là giữa nguồn / chìm?
ish

@izx: Tôi không biết ý của bạn là "nguồn / chìm". Nếu đó là một cách khác để nói "máy chủ / máy khách", thì đó là kết nối mạng LAN ethernet. Nếu đó là một cái gì đó khác, bạn sẽ phải giải thích những gì bạn có ý nghĩa.
hỏi

Dave, bạn có thể tham gia phòng chat không? Tôi nghĩ rằng tôi có thể có một giải pháp nhưng cần nói chuyện ...
ish

Nếu không, tôi chỉ có nghĩa là có dây hoặc không dây và một số chi tiết, ví dụ như dây = 100 MBps router, vv hoặc không dây = 802.11G, N, vv
ish

@izx: Ồ, tôi hiểu rồi. Đó là một mạng LAN có dây với một bộ định tuyến giữa chúng. Tôi tin rằng đó là 100MBps. Tôi nghĩ rằng máy khách có khả năng 1GBps, nhưng thẻ LAN của máy chủ vẫn là 100GBps. Nếu điều đó quan trọng và có một lệnh tôi có thể chạy để có tốc độ chính xác, xin vui lòng cho tôi biết.
hỏi

Câu trả lời:


10

Lời nói đầu

Tôi đã có thể sao chép vấn đề của Dave trong các thử nghiệm và họ khiến tôi tin rằng Flash bằng cách nào đó gửi âm thanh đến PulseAudio theo cách nó tạo ra nhiều lưu lượng mạng (nghĩ nhiều gói nhỏ, không phải băng thông); điều này lấn át "đường hầm" mà PulseAudio đã tạo, tức là bạn có

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

Tôi có thể giải quyết vấn đề bằng cách đặt cả máy khách và máy chủ lên mạng ảo của riêng chúng, cho chúng kết nối cực kỳ nhanh (10 Gbits / giây) giữa chúng; rõ ràng, điều đó không làm việc cho các mạng trong thế giới thực :)

Vì vậy, một chút googling và bài nàycái này đã cho tôi ý tưởng về thả các đường hầm (trung gian, như Dave aptly đặt nó), và có cuộc nói chuyện trực tiếp khách hàng đến máy chủ, tức là

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

Và điều đó đã làm việc cho tôi; Flash video / âm thanh chơi hoàn hảo.

Hãy thử nó!

Điều này giả định máy chủ-máy khách của bạn nằm trên một mạng cục bộ (bộ định tuyến, v.v.)

  1. Sơ bộ: Trên máy khách, nếu bạn có thiết lập hiện có, hãy mở paprefsvà bỏ chọn mọi thứ ; sau đó giết PulseAudio để chắc chắn.

  2. Trên máy chủ (nghĩa là máy có loa), khởi động Tùy chọn PA ( paprefs) và thiết lập nó như sau:

    nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây

    • Sau đó đóng nó và giết PulseAudio trong một thiết bị đầu cuối như được hiển thị, đợi và kiểm tra xem nó hiện đang nghe trên cổng 4713:

    nhập mô tả hình ảnh ở đây

    • Nếu bạn không nhìn thấy nó, hãy mở paprefslại và kiểm tra các hộp còn lại trong tab Truy cập mạng và Máy chủ mạng (chúng không bị tổn thương)

    • Hãy chắc chắn rằng bạn biết địa chỉ IP của máy chủ - sử dụng ifconfig, v.v. Chúng tôi sẽ sử dụng 192.168.0.4trong ví dụ của chúng tôi.

  3. Trên máy khách, trước tiên hãy mở một thiết bị đầu cuối và kiểm tra kết nối trực tiếp của chúng tôi bằng WAV mẫu (thay thế 192.168 ... bằng IP máy chủ của bạn !)

    wget http://www.signalogic.com/melp/EngSamples/Orig/fbang.wav
    paplay --server = 192.168.0.4: 4713 nữ.wav
    
    • Hủy bỏ với Ctrl-C nếu nó hoạt động, nó có thể trở nên nhàm chán;)

Bây giờ, hãy đóng tất cả các phiên bản trình duyệt đang chạy, rồi khởi động nó (giả sử Firefox ở đây với cú pháp sau):

PULSE_SERVER=192.168.0.4:4713 firefox &
  • Thay thế 192...bằng IP thích hợp cho máy chủ của bạn!

  • Trong trường hợp Firefox đó, hãy mở Youtube (hoặc bất kỳ trang web video Flash nào) và thử phát lại video --- ngón tay đan chéo, nó sẽ hoạt động mà không bị nói lắp / tạm dừng!

Làm cho nó dính

Nếu bạn muốn sửa lỗi này áp dụng cho tất cả các chương trình thay vì phải đặt PULSE_SERVER=192.168.0.4:4713trước mỗi lệnh, hãy chỉnh sửa /etc/environmenttrên máy khách và thêm PULSE_SERVER=192.168.0.4:4713vào một dòng mới ở cuối tệp. Ngoài ra, thêm một ngắt dòng ở cuối.

Điều này sẽ làm cho tất cả âm thanh trên máy khách chuyển đến máy chủ Pulseaudio, vì vậy hãy chắc chắn đó là những gì bạn muốn trước khi chỉnh sửa /etc/environmenttệp này.

Khởi động lại và tận hưởng trải nghiệm âm thanh smooooooth. ;)


Bất kỳ tường lửa trên đường? và bạn đặt 192.168.0.4 ở mọi nơi, phải không? Hãy thử firefox nào ngay cả khi female.wavkhông làm việc ...
ish

Argh, tôi đã quên một bước - vui lòng thêm dòng này vào cuối của /etc/pulse/system.pa khách hàng : load-module module-native-protocol-tcp auth-anonymous=1; lưu, giết pulseaudio và thử ngay bây giờ.
ish

Có, máy khách - cài đặt paprefs trên máy chủ đã kích hoạt tính năng này rồi. Bạn bổ sung có thể thêm nó vào máy chủ quá, sẽ không làm tổn thương ...
ish

@DaveMG: Xin lỗi, tôi cho rằng bạn sẽ không bỏ sót hai dòng đó trên máy khách bây giờ. Vì vậy, xin lỗi, đã bận rộn cho ngày cuối cùng hoặc lâu hơn và không. Tôi sẽ trở lại vào khoảng 11:30 AM JST và chúng tôi có thể tiếp tục. Trong khi đó, bạn có thể thấy hai video những đường hầm mặc định cấu hình tôi đã thực hiện thú vị: nói lắp , làm việc
ish

Để bạn biết, tôi đã chỉnh sửa câu trả lời và tôi đang tổng hợp các bình luận để mọi người có thể đọc câu trả lời này rõ ràng hơn một chút (đó là lý do tại sao các bình luận của tôi bị xóa). Tôi chỉ tự hỏi liệu load-module module-native-protocol-tcp auth-anonymous=1;dòng trong /etc/pulse/system.panên được đưa vào câu trả lời, hoặc nếu nó là một phần của quá trình chẩn đoán có thể bị loại bỏ?
hỏi

3

Nếu vấn đề là Gnash thì đây là cách khắc phục:

Đóng tất cả các trình duyệt và chạy các lệnh này:

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

sau đó sudo apt-get cài đặt adobe-flashplugin

điều này đã khắc phục sự cố của tôi: về cơ bản, nó sẽ xóa mọi thứ liên quan đến Gnash và cài đặt Flash.


cho tôi biết nếu nó hoạt động
zeitue

Cảm ơn về những đề nghị. Tuy nhiên, theo câu hỏi được cập nhật của tôi, việc thay đổi plugin Flash dường như không giúp ích gì cho vấn đề.
hỏi

2

Tôi nghĩ vấn đề của bạn có thể liên quan đến flash player.

Có một plugin FireFox Flash-Aid cài đặt phiên bản flash appx theo môi trường của bạn.


Cảm ơn vì tiền hỗ trợ. Đã tải xuống, cài đặt nó, đã thử một vài biến thể khác nhau của Flash. Thật không may, vấn đề xung âm thanh vẫn tồn tại.
hỏi

2

Tôi đã có thể khắc phục sự cố đảo ngược màu video bằng cách bỏ chọn (tắt) hộp kiểm Bật tăng tốc phần cứng khi bạn nhấp chuột phải vào trình phát flash và nhấp vào Cài đặt (Làm mới để xem hiệu ứng của nó).

Tôi đã có những vấn đề nói lắp âm thanh giống như bạn. Nó hoạt động ban đầu, sau một thời gian, tình trạng nói lắp bắt đầu. Hy vọng ai đó có thể khắc phục điều này - mặc dù tôi tò mò về cách bạn có thể bỏ qua máy chủ âm thanh xung để nhận âm thanh (Tôi chỉ sử dụng máy tính xách tay mà không cần âm thanh mạng) .

(Tôi có Flash 11.2 r202 trên Firefox Kubfox 12.04 amd64)


Cám ơn vì sự gợi ý. Tôi đã thử kích hoạt và vô hiệu hóa khả năng tăng tốc phần cứng, nhưng dường như nó không thay đổi bất cứ điều gì đối với tôi. Ngoài ra, tôi không biết ý của bạn là gì khi "bỏ qua âm thanh xung".
hỏi

2

Bạn đã cài đặt MIXX dj Player chưa? Nó đôi khi gây rối với máy chủ âm thanh. Nếu bạn cài đặt nó, nó sẽ thay đổi chủ đề âm thanh mặc định của bạn "ubfox" thành freedesktop.

Bạn có thể thử cài đặt "PulseAudio Preferences" từ trung tâm phần mềm Ubuntu.
Có một số tùy chọn cấu hình liên quan đến mạng.


1

Tôi có cùng một vấn đề và chưa tìm thấy một giải pháp hoàn hảo cho vấn đề này. Tôi đã nhận thấy một số điều có thể giúp bạn:

1) Nó xảy ra với tôi với flash, nhưng đôi khi với phiên bản html5 của youtube. Điều này cũng xảy ra với bạn? ( http://www.youtube.com/html5/ bạn có thể bật phiên bản html5 của youtube tại đây). Điều này cho thấy vấn đề không chỉ dành riêng cho flash (nhưng có lẽ bằng cách nào đó trình duyệt?)

2) Tôi có thể làm cho âm thanh hoạt động đúng như bạn mà không cần đến máy chủ bằng cách sử dụng pavucontrol bằng cách đặt thiết bị đầu ra thành thiết bị cục bộ và sau đó quay lại máy chủ từ xa. Điều này giải quyết tình trạng nói lắp của âm thanh và tạm dừng và bỏ qua video ngẫu nhiên. Than ôi này chỉ hoạt động cho đến khi video tiếp theo bắt đầu.

3) Tôi khá chắc chắn rằng trong khi giải quyết vấn đề này, tôi đã gặp một số người nói rằng vấn đề này liên quan đến bộ đếm đồng hồ của máy khách và máy chủ không được liên kết đúng cách và đó là những gì được đặt lại bằng cách khởi động lại máy chủ hoặc kết nối lại với khách hàng (tức là điểm 2). Tôi sẽ cố gắng đào nó ra cho bạn.

Tôi không thể tìm thấy cuộc thảo luận đã hứa, nhưng tôi đã tìm thấy một số thông tin cơ bản về lập lịch dựa trên bộ đếm thời gian: http://0pulum.de/blog/projects/pulse-glitch-free.html


+1 để cho tôi biết tôi không đơn độc trong vũ trụ! Đối với điểm 1, tôi đã thử sử dụng phiên bản html5 của YouTube trong khi cố gắng giải quyết vấn đề này, nhưng video không phát đúng và theo một cách hoàn toàn khác, vì vậy tôi cảm thấy đó là một vấn đề không thể kết luận (có thể đó là một vấn đề khác). Đối với điểm 2, điều đó thật thú vị, và tôi sẽ xem nó có hiệu quả với tôi không. Có vẻ như một cách giải quyết khác cho cùng một vấn đề. Và điểm 3 là thông tin đáng khích lệ nhất, vì nó có khả năng bắt đầu dẫn đến một lời giải thích thực sự về nguyên nhân. Cảm ơn vì đã phản hồi!
hỏi

Không vấn đề gì. Tôi đã tìm kiếm thông tin mà tôi đang đề cập, nhưng tôi không thể tìm lại được.
HansHarhoff

1
Tôi đã đăng một báo cáo lỗi lên launchpad tại đây: bug.launchpad.net/ubfox/+source/pulseaudio/+orms/1030559 Hãy xem điều này có cho chúng tôi một số gợi ý không.
HansHarhoff

Đẹp. Tôi đã đăng một bình luận về lỗi này để hy vọng tôi sẽ được thông báo về bất kỳ cập nhật nào. Tôi đã không đăng báo cáo lỗi của riêng mình vì tôi không bao giờ có thể tìm ra cách sử dụng Apport theo cách có thể tạo báo cáo lỗi khi không có sự cố phần mềm cụ thể.
hỏi

1

Tôi thực sự vui mừng vì cuối cùng tôi đã tìm thấy trang này.

Tôi đã gặp vấn đề này vì nhiều phiên bản Ubuntu (nó bắt đầu trở nên khó chịu khi padevchooser bị bỏ rơi) và bây giờ với Arch. Giải pháp đặt và xuất biến môi trường PULSE_SERVER trước khi khởi động trình duyệt luôn hoạt động tốt với tôi. Không cần thiết phải thay đổi bất cứ điều gì trên máy chủ.

Nhưng có một điều tôi không hiểu: Khi tôi khởi động trình duyệt (Chromium) từ thiết bị đầu cuối bên trong môi trường máy tính để bàn, âm thanh sẽ hoạt động. Khi tôi khởi động trình duyệt từ trình khởi chạy (Xfce, Gnome, ...) như bình thường, các vấn đề được mô tả ở trên là có. Tôi nghĩ rằng điều đó có liên quan đến các biến môi trường X11, nhưng điều này vượt quá khả năng của tôi.

Đối với tôi, tôi đã giải quyết vấn đề ngay bây giờ bằng cách chỉnh sửa chromium.desktoptệp của mình và thêm Máy chủ Pulse ở đó:

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


1

Bạn cần phải có các plugin này trên firefox để chạy hoàn hảo bất kỳ phương tiện truyền thông nào. Kiểm tra cái nào bạn có và cái nào bạn không có.

Hồ sơ nên là:


0

Tôi tìm thấy một giải pháp để khắc phục tình trạng nói lắp trong khi sử dụng mô-đun-đường hầm-chìm.

Tất cả những gì bạn phải làm là tải xuống Flash Player phiên bản 10.3 (cũng có hỗ trợ tăng tốc phần cứng, Adobe đã bỏ nó trong phiên bản 11).

Đây là nhị phân x86_64

Để cài đặt nó giải nén libflashplayer.sothư viện vào ~/.mozilla/pluginsthư mục hoặc thay đổi liên kết hiện tại bằng cách sử dụng update-alternatives.

Xin lưu ý rằng phiên bản 10.3 có nhiều lỗ hổng bảo mật, do đó bạn phải tự chịu rủi ro khi sử dụng nó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.