Trước hết, bạn cần hiểu cách hoạt động của tính năng này.
Người gửi tức là tác giả của dòng RTP có lẽ là cách làm như sau:
- Sử dụng một nguồn cho các dữ liệu: Trong trường hợp âm thanh, điều này có thể là mẫu microphone hoặc âm thanh hoặc một tập tin
- Mã hóa âm thanh bằng codec âm thanh như AAC hoặc Opus.
- Sử dụng RTP packetizer để tạo ra các gói RTP từ khung âm thanh được mã hóa
- Sử dụng một lớp truyền tải như UDP để gửi các gói tin
giao thức như RTSP cung cấp thông tin tín hiệu cần thiết để cung cấp thông tin dòng tốt hơn. Thường RTP chính nó là không đủ như những thứ như kiểm soát tắc nghẽn, phản hồi, tỷ lệ bit động được xử lý với sự giúp đỡ của RTCP.
Dù sao, để lưu trữ các dòng gửi đến, bạn cần phải làm như sau:
Sử dụng một depacketizer RTP để có được những khung hình âm thanh được mã hóa ra khỏi nó. Bạn có thể viết của riêng mình hoặc sử dụng triển khai của bên thứ ba. Trong thực tế, ffmpeg là một khung công tác lớn có tất cả các mã cần thiết cho hầu hết các codec và giao thức. Tuy nhiên đối với trường hợp của bạn, hãy tìm một bộ lọc RTP đơn giản. Có thể có tiêu đề tương ứng với một codec cụ thể để đảm bảo bạn tham chiếu đến RFC chính xác.
Khi bạn có quyền truy cập vào khung được mã hóa, bạn có thể viết giống nhau trong vùng chứa phương tiện như m4a hoặc ogg tùy thuộc vào codec âm thanh được sử dụng trong luồng.
Để chơi suối, bạn cần phải làm như sau:
Sử dụng một depacketizer RTP để có được những khung hình âm thanh được mã hóa ra khỏi nó. Bạn có thể viết của riêng mình hoặc sử dụng triển khai của bên thứ ba. Trong thực tế, ffmpeg là một khung công tác lớn có tất cả các mã cần thiết cho hầu hết các codec và giao thức. Tuy nhiên đối với trường hợp của bạn, hãy tìm một bộ lọc RTP đơn giản.
Một khi bạn có quyền truy cập vào các khung được mã hóa, sử dụng một bộ giải mã âm thanh (có sẵn như là một thư viện) để giải mã các khung hoặc kiểm tra xem nền tảng của bạn hỗ trợ mà bộ giải mã trực tiếp để phát lại
Một khi bạn có quyền truy cập vào khung giải mã , trong iOS, bạn có thể sử dụng AVFoundation để chơi giống nhau.
Nếu bạn đang xem xét một cách dễ dàng để làm điều đó, có thể sử dụng một thực hiện của bên thứ ba như http://audiokit.io/