Trên trang này
Bạn có thể điều khiển SermonWave trong OBS mà không cần chạm vào dock: bằng phím tắt, hoặc từ Stream Deck hay Bitfocus Companion qua obs-websocket. Mọi thứ ở đây đều hoạt động khi dock đã đóng. Trong dock, mục Stream Deck & control đặt thời điểm việc dịch tự bắt đầu và hiện một bản tóm tắt ngắn trong Hotkeys and Stream Deck.
Dành cho ai#
Trưởng ban kỹ thuật đã điều khiển OBS bằng phím tắt, Elgato Stream Deck, Bitfocus Companion hoặc một bộ điều khiển tương tự.
Trước khi bắt đầu#
- Plugin đã được cài đặt và ghép nối. Xem Ghép nối OBS với SermonWave.
- Với Stream Deck / Companion: máy chủ obs-websocket đã được bật trong OBS (Tools → WebSocket Server Settings → Enable WebSocket server). Tính năng này có sẵn trong OBS 28 trở lên.
- Bộ điều khiển của bạn có thể gửi một yêu cầu obs-websocket thô (ví dụ mô-đun OBS của Companion với yêu cầu tùy chỉnh, hoặc một plugin Stream Deck hỗ trợ
CallVendorRequest).
Phím tắt#
Plugin thêm các mục SermonWave vào OBS Settings → Hotkeys:
- SermonWave: Start translation (bắt đầu dịch), SermonWave: Stop translation (dừng dịch) và SermonWave: Start / stop translation (toggle) (bật/tắt dịch).
- Theo từng ngôn ngữ: SermonWave: Start translated stream … / Stop translated stream … (bắt đầu/dừng luồng phát đã dịch) và SermonWave: Start translated recording … / Stop translated recording … (bắt đầu/dừng bản ghi đã dịch).
- Theo từng ngôn ngữ: SermonWave: Toggle language … thêm hoặc gỡ ngôn ngữ đó khỏi danh sách ngôn ngữ của thiết bị. Thao tác này thay đổi thiết bị cho tất cả mọi người, giống như Save languages.
Gán phím ở đó như mọi phím tắt OBS khác. Stream Deck có thể nhấn các phím này bằng các thao tác phím tắt OBS của nó.
Thường thì bạn thậm chí không cần đến chúng, vì việc dịch đi theo OBS:
- Trong dock, ở mục Stream Deck & control, đặt Translate when thành Streaming (khi phát), Recording (khi ghi) hoặc Streaming or recording (khi phát hoặc ghi). Xem Thiết lập âm thanh, ngôn ngữ và bắt đầu/dừng trong OBS.
- Trong OBS Settings → Hotkeys, gán phím cho các lệnh có sẵn của OBS: Start Streaming / Stop Streaming và Start Recording / Stop Recording.
- Từ giờ, nhấn các phím đó sẽ bắt đầu và dừng cùng lúc việc dịch, các luồng phát đã dịch và các bản ghi đã dịch.
Yêu cầu vendor obs-websocket#
Plugin đăng ký một vendor obs-websocket tên là sermonwave. Bất kỳ ứng dụng obs-websocket nào cũng có thể gọi nó bằng yêu cầu chuẩn CallVendorRequest:
{
"requestType": "CallVendorRequest",
"requestData": {
"vendorName": "sermonwave",
"requestType": "get_state",
"requestData": {}
}
}
Ngôn ngữ được ghi bằng mã ngắn, ví dụ es, fr, pt.
Các yêu cầu hữu ích#
| Loại yêu cầu | Dữ liệu yêu cầu | Chức năng |
|---|---|---|
GetStatus | — | Trạng thái ghép nối, kết nối, phiên, ngôn ngữ của thiết bị, trạng thái luồng phát/bản ghi của từng ngôn ngữ đã thêm và tên các phím tắt. |
Start / Stop / Toggle | wait (true/false, không bắt buộc) | Bắt đầu, dừng hoặc bật/tắt phiên dịch, giống như Start translation / Stop translation. Với wait, câu trả lời đến sau khi SermonWave xác nhận (tối đa 10 giây). |
StartTranslatedStream / StopTranslatedStream | language | Bắt đầu hoặc dừng luồng phát đã dịch của một ngôn ngữ, giống như nút Start / Stop của nó. |
StartTranslatedRecording / StopTranslatedRecording | language | Bật hoặc tắt bản ghi của một ngôn ngữ, giống như nút REC của nó. |
ToggleLanguage | language | Thêm hoặc gỡ ngôn ngữ đó khỏi danh sách ngôn ngữ của thiết bị. Thay đổi thiết bị cho tất cả mọi người. |
get_state | — | Trạng thái ghép nối, số thiết bị, ngôn ngữ của thiết bị, ngôn ngữ phụ đề, tình trạng hoạt động. |
get_outputs | — | Theo từng ngôn ngữ: trạng thái luồng phát/bản ghi, bitrate, khung hình bị rớt, tiến độ đồng bộ lại, trạng thái YouTube và liên kết xem. |
set_output | language cùng bất kỳ trường nào bên dưới | Thay đổi cài đặt của một ngôn ngữ đã thêm. |
add_language | language | Giống như Add language. |
remove_language | language | Giống như Remove. |
set_sync_delay | sync_delay_ms (4000–15000) | Đặt Sync delay. |
set_languages | source_language, target_languages (danh sách {"code": "es"}) | Lưu ngôn ngữ của thiết bị, giống như Save languages. Thay đổi thiết bị cho tất cả mọi người. |
set_youtube_channel | channel | Lưu Channel for /listen. |
youtube_state | — | Trạng thái đăng nhập YouTube và buổi phát. |
youtube_settings | privacy (unlisted, public, private), title_template | Đặt chế độ riêng tư và tiêu đề YouTube. |
youtube_keys | refresh (true/false) | Liệt kê các khóa luồng (stream key) của kênh bạn. |
collect_diagnostics | reason | Gửi ngay một báo cáo chẩn đoán đến bộ phận hỗ trợ SermonWave. |
Các trường của set_output#
Tất cả đều không bắt buộc, trừ language:
stream_now:"start"hoặc"stop"— giống như nút Start / Stop của ngôn ngữ đó trên thanh điều khiển.video_quality:auto,720p,1080p,480phoặcmatch— Video quality của ngôn ngữ đó (match= Same as the main stream, giống luồng phát chính).stream_enabled,record_enabled,room(true/false) — Stream …, Record a … copy, Play … in the room.preset:youtube_rtmps,youtube_rtmps_backup,youtube_rtmp,facebook,custom; hoặcdestination:youtube_autocho YouTube (automatic).server,key— máy chủ và khóa luồng cho một nền tảng nhập thủ công.sync_video,stream_captions,record_captions,captions_default,resync,keep_live(true/false).bg_db,bg_off,duck_db— mức Original audio, tắt Original audio (Off), và mức Under translation, tính bằng dB.
Ví dụ#
Bắt đầu ngay luồng phát đã dịch tiếng Tây Ban Nha:
{
"requestType": "CallVendorRequest",
"requestData": {
"vendorName": "sermonwave",
"requestType": "set_output",
"requestData": { "language": "es", "stream_now": "start" }
}
}
Bật phát tiếng Pháp trong phòng:
{
"requestType": "CallVendorRequest",
"requestData": {
"vendorName": "sermonwave",
"requestType": "set_output",
"requestData": { "language": "fr", "room": true }
}
}
Giảm âm thanh gốc dưới bản dịch tiếng Tây Ban Nha xuống −25 dB:
{
"requestType": "CallVendorRequest",
"requestData": {
"vendorName": "sermonwave",
"requestType": "set_output",
"requestData": { "language": "es", "duck_db": -25 }
}
}
Kết quả trả về nằm trong responseData của phản hồi. Các yêu cầu như set_output trả lời {"ok": true} ngay lập tức; hãy kiểm tra kết quả bằng get_outputs.
Khắc phục sự cố#
Yêu cầu bị lỗi với thông báo vendor không xác định. obs-websocket chưa chạy khi OBS tải plugin, hoặc plugin chưa được cài đặt. Hãy bật máy chủ WebSocket rồi khởi động lại OBS.
set_output trả về ok: false. Thiếu trường language.
Không có gì xảy ra với một ngôn ngữ. Bảo đảm ngôn ngữ đó đã được thêm bằng Add language trong mục Translated streams (hoặc gọi add_language trước). Phím tắt theo từng ngôn ngữ xuất hiện trong OBS Settings → Hotkeys khi thiết bị cung cấp ngôn ngữ đó hoặc khi ngôn ngữ được thêm trong dock.
Câu hỏi thường gặp#
Phím tắt có hoạt động khi dock đã đóng không?#
Có. Phím tắt, các yêu cầu obs-websocket và việc tự động bắt đầu, dừng theo luồng phát hoặc bản ghi đều hoạt động khi dock đã đóng.
Kết nối obs-websocket có an toàn không?#
Kết nối này chỉ nằm trong mạng nội bộ của bạn. Hãy giữ Enable Authentication được bật trong WebSocket Server Settings và dùng mật khẩu đó trong bộ điều khiển của bạn.