Tôi đang theo dõi Kurento hướng dẫn nhận rtp trên Windows. Tôi đã quản lý để thiết lập KMS bằng lệnh Docker sau:
docker run --rm -p 8888:8888/tcp -p 5000-5050:5000-5050/udp -e KMS_MIN_PORT=5000 -e KMS_MAX_PORT=5050 -d kurento/kurento-media-server:latest
Tôi đang gửi luồng RTP bằng ffmpeg bằng lệnh sau:
ffmpeg -f gdigrab -framerate 30 -i title="Một số cửa sổ" -c:v h264_nvenc -f rtp rtp://127.0.0.1:5014
Sau khi khởi động ứng dụng Java trên hướng dẫn và mở trang web trên https://localhost:8443/#
Tôi đã quản lý để kích hoạt ưu đãi SDP giả mạo và sao chép cổng mà KMS đang lắng nghe luồng RTP. Đó là cổng tôi sử dụng trên ffmpeg để gửi luồng tới. Sau đó, KMS dường như nhận được luồng chính xác. Dưới đây là một số nhật ký lặp lại từ bộ chứa KMS (những nhật ký này chỉ hiển thị sau khi bắt đầu truyền phát trên ffmpeg):
0:20:36.047401800 1 0x7fc7480b6ad0 WARN kmsutils kmsutils.c:1452:kms_utils_depayloader_adjust_pts_out:<rtpopusdepay3> Sửa lỗi PTS không tăng, lần cuối: 0:00:26.853434000, hiện tại: 0:00:26.71743 =4001 lần cuối 00:26.854434000
Tuy nhiên, trình duyệt web dường như không nhận được luồng video từ KMS. Tôi đã cố gắng lặp lại hướng dẫn trên máy linux và nó đã hoạt động, có lẽ vì ở đó chúng tôi có thể sử dụng --máy chủ mạng
tùy chọn trên bộ chứa KMS. Đây là SDP từ luồng ffmpeg RTP:
v=0
o=- 0 0 TRONG IP4 127.0.0.1
s=Không Tên
c=IN IP4 127.0.0.1
t=0 0
a=tool:libavformat 58.76.100
m=video 5044 RTP/AVP 96
b=AS:2000
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1
Tôi làm sai ở đâu? Có bất kỳ điều chỉnh nào khác cần thiết để làm cho hướng dẫn này chạy trên Windows không?