Điểm:0

Trình duyệt không đầu: Đầu ra âm thanh tới Pulseaudio

lá cờ cg

Tôi đang cố gắng chạy trình duyệt không đầu trên phiên bản EC2/Ubuntu 20.04 và sau đó xuất luồng âm thanh kết quả sang phần chìm Pulseaudio mặc định (sau đó được DarkIce/Icecast chọn). Tôi chỉ muốn chạy một trang web (của tôi, được lưu trữ trên một máy chủ khác, yêu cầu jQuery & Howler.js) và trình duyệt/luồng kết quả phải mở 24/7.

Tôi đã quản lý để tải một tệp âm thanh trên phiên bản này để phát lên Icecast (sử dụng ogg123), vì vậy ogg123>Pulseaudio>Darkice>Icecast2 hoạt động. Tôi đã tạo một bồn rửa mặc định như bên dưới

mô-đun tải pactl mô-đun-null-sinkink_name=radio
pacmd update-sink-proplist thiết bị vô tuyến.description=radio
pacmd set-default-sink đài phát thanh

và biến Pulseaudio thành trình điều khiển mặc định bằng cách tạo ~/.asoundrc để đưa vào

xung pcm.default
xung ctl.default

Tôi không chắc cách tiếp cận chính xác là gì để trình duyệt hoạt động tốt. Tôi đã thử (cả google-chome và chromium) chỉ trực tiếp vào cả tệp âm thanh và trang có js phát âm thanh (với mục đích cuối cùng là chạy nó trong Màn hình), cả hai đều có vẻ như tìm thấy nội dung, không phải cách tiếp cận phát bất kỳ âm thanh nào. Ví dụ,

 google-chrome-stable --headless --disable-gpu --autoplay-policy=no-user-gesture-required --user-data-dir=/home/ubuntu/chromeUser --disable-accelerated-video-decode - -disable-software-rasterizer --enable-logging=stderr --v=1 https://domain.name/stream.html 

tạo ra như sau

[0608/102421.257217:INFO:cpu_info.cc(53)] Số lõi khả dụng: 1
[0608/102421.258656:INFO:cpu_info.cc(53)] Số lõi khả dụng: 1
[0608/102421.258861:VERBOSE1:zygote_main_linux.cc(217)] ZygoteMain: khởi tạo 0 đại biểu ngã ba
[0608/102421.259318:VERBOSE1:zygote_main_linux.cc(217)] ZygoteMain: khởi tạo 0 đại biểu ngã ba
[0608/102421.271947:VERBOSE1:webrtc_internals.cc(118)] Không thể lấy thư mục tải xuống.
[0608/102421.280120:VERBOSE1:breakpad_linux.cc(2071)] Đã bật kết xuất sự cố trình duyệt không cho: tiến trình gpu
[0608/102421.283276:ERROR:gpu_init.cc(440)] Truyền qua không được hỗ trợ, GL bị tắt
[0608/102421.286107:VERBOSE1:breakpad_linux.cc(2071)] Đã bật kết xuất sự cố không phải trình duyệt cho: trình kết xuất
[0608/102421.288099:VERBOSE1:sandbox_linux.cc(69)] Đã kích hoạt hộp cát seccomp-bpf cho loại quy trình: gpu-process.
[0608/102421.293815:VERBOSE1:sandbox_linux.cc(69)] Đã kích hoạt hộp cát seccomp-bpf cho loại quy trình: trình kết xuất.
[0608/102421.303930:VERBOSE1:device_data_manager_x11.cc(216)] X Tiện ích mở rộng đầu vào không khả dụng
[0608/102421.356750:VERBOSE1:configured_proxy_resolution_service.cc(852)] Hỗ trợ PAC bị tắt vì không có triển khai hệ thống
[0608/102421.357514:VERBOSE1:configured_proxy_resolution_service.cc(852)] Hỗ trợ PAC bị tắt vì không có triển khai hệ thống
[0608/102421.359494:VERBOSE1:network_delegate.cc(32)] Đại biểu mạng::Notify BeforeURLRequest: https://domain.name/stream.html
[0608/102421.411474:VERBOSE1:document.cc(3974)] Tài liệu::DispatchUnloadEvents() URL = <null>
[0608/102421.411727:VERBOSE1:document.cc(4054)] Thực sự gửi một UnloadEvent: URL = <null>
[0608/102421.421675:VERBOSE1:network_delegate.cc(32)] NetworkDelegate::NotifyB BeforeURLRequest: /path/to/jquery.min.js
[0608/102421.424968:VERBOSE1:network_delegate.cc(32)] NetworkDelegate::NotifyB BeforeURLRequest: /path/to/jquery-ui.min.js
[0608/102421.429480:VERBOSE1:network_delegate.cc(32)] Đại biểu mạng::NotifyB BeforeURLRequest: /path/to/howler.min.js

Đây có phải là cách tiếp cận phù hợp để làm cho nó hoạt động (và, nếu vậy, tại sao lại không?), Hay tôi nên sử dụng Selenium/Puppeteer/cái gì khác?

Cảm ơn, Chris

[sang một bên: Tôi đã thử một số thứ để cố gắng loại bỏ lỗi "Passthrough is not supports, GL is swiftshader" nhưng không thành công, mặc dù nó dường như không ngăn trình duyệt truy cập trang]

Điểm:1
lá cờ cg

Tôi đã quản lý để làm cho nó hoạt động bằng cách chạy Puppeteer, thay vì cố gắng sắp xếp Chromium từ dòng lệnh. Tôi đã sử dụng câu trả lời này để (hy vọng) giữ Puppeteer mở với các đối số sau để âm thanh bắt đầu tự động.

 this.browser = đang chờ con rối.launch({
     không đầu: đúng,
     bỏ quaDefaultArgs: [
         "--tắt tiếng",
     ],
     tranh luận: [
         "--autoplay-policy=no-user-gesture-required",
     ],
  });

Sau khi thiết lập âm thanh chìm mặc định trong PulseAudio và thêm ~/.ascoundrc (như trên), tất cả đều hoạt động (âm thanh chìm được chọn bởi DarkIce > IceCast > phát sóng). Tôi có thể sẽ sử dụng chiều2 để giám sát Puppeteer, nhưng hiện tại nó là một giải pháp hiệu quả.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.