Tôi muốn tự động chuyển nguồn video trong ứng dụng phát trực tuyến video. Tuy nhiên, các nguồn video khác nhau có kích thước hình ảnh duy nhất. Tôi có thể tạo các tệp SDP riêng lẻ cho mỗi nguồn video, nhưng tôi muốn kết hợp chúng thành một tệp SDP duy nhất để ứng dụng khách xem có thể tự động thay đổi kích thước cửa sổ hiển thị khi nguồn video thay đổi. Dưới đây là hai ví dụ file SDP:Nhiều luồng video H.264 trong một phiên RTP
640x480.sdp:
v=0 o=VideoServerIN IP4 192.168.0.2 s=VideoStream640x480 t=0 0 c=IN IP4 192.168.0.2 m=video 8000/2 RTP/AVP 96 a=rtpmap:96 H264/90000 a=fmtp:96 packetization-mode=0; profile-level-id=4D4033; sprop-parameter-sets=Z01AM5ZkBQHtCAAAAwAIAAADAYR4wZU=,aO48gJ== a=control:trackID=1
960x480.sdp:
v=0 o=VideoServerIN IP4 192.168.0.2 s=VideoStream960x480 t=0 0 c=IN IP4 192.168.0.2 m=video 8000/2 RTP/AVP 96 a=rtpmap:96 H264/90000 a=fmtp:96 packetization-mode=0; profile-level-id=4D4033; sprop-parameter-sets=J01AM5WwPA9sBAIA,KO4G8gA= a=control:trackID=1
Làm thế nào những tập tin cá nhân có thể được kết hợp vào một tập tin SDP đơn?
Tôi cũng sẽ thả các sprop-tham số-bộ và có chúng trong băng tần và chỉ có dòng phương tiện truyền thông một video. Tất cả các bộ mã hóa h264 sẽ có inband anyway. Sau đó tôi sẽ có một số loại kênh sau nếu bạn muốn khách hàng kiểm soát kích thước video được gửi và chỉ chuyển nguồn cấp dữ liệu khi đang di chuyển. Khách hàng chỉ có thể "phát hiện" khi độ phân giải đã thay đổi và thay đổi kích thước hiển thị của nó. Điều này đã làm việc tốt cho tôi. Vấn đề duy nhất là bạn cần phải cập nhật các tham số SDP nếu kích thước của bạn (bit rate) lớn hơn mức profile được chỉ định (không thể ở 5.1 chúng đang sử dụng). –