2012-01-09 34 views
23

Phát triển trình phát vô tuyến internet bằng cách sử dụng jPlayer, sử dụng các thẻ âm thanh html5 với jQuery và có flash bị trễ cho các trình duyệt không được hỗ trợ. Khi thử nghiệm trình phát trên iPhone (iOS 5.0.1), chúng tôi đã gặp phải một vấn đề rất đặc biệt.Phát sóng qua mạng di động HE-AAC qua mạng di động (3G)

Khi iPhone được kết nối với WiFi, luồng sẽ phát hoàn hảo bằng luồng HE-AAC V2 @ 64kbps 44.1kHz (codec ưu tiên cho các sản phẩm của Apple). Tuy nhiên, khi iPhone được kết nối với mạng di động 3G, nó "giật" hoặc dừng phát trực tuyến trong 1-2 giây cứ sau 1-2 phút (không dừng phát trực tuyến hoàn toàn). Điều đáng lo ngại là khi iPhone buộc phải sử dụng một dòng MP3 riêng biệt với cùng tốc độ bit, nó không có vấn đề này và hoạt động rất tốt trên 3G.

CẬP NHẬT 5

Chúng tôi gần đây đã mua một thiết bị hotspot di động 3G/4G Sprint và kiểm tra vấn đề này với thiết bị. Khi iPhone được kết nối với điểm phát sóng di động, nó hiển thị như đang được kết nối với thiết bị wifi và sự cố không hiển thị ngay cả khi kết nối thực tế qua 3G/4G. Điều này có thể phản ánh vấn đề xảy ra với iPhone không xử lý HE-AAC thông qua Phát trực tiếp HTTP và khi kết nối trực tiếp với mạng di động.

CẬP NHẬT 4

cập nhật iPhone lên iOS 5.1 nhưng vấn đề này vẫn còn.

CẬP NHẬT 3

Đọc ở đây về các vấn đề SO loại hình kịch bản không hiển thị chính xác khi kết nối với mạng di động. Ngón tay dường như trỏ đến các mạng di động có thể đang chèn Proxy để phân phối trang web, ví dụ: để giảm kích thước hình ảnh. Ngoài ra nó có thể tiêm một số trang JavaScript. Trang thử nghiệm có thể được tìm thấy HERE Lưu ý: Trang này được sử dụng HE-AAC vì vậy nó sẽ chỉ làm việc trên iPhone ...

CẬP NHẬT

Theo HTTP Live Streaming doc của Apple cho các thiết bị iOS, rằng " Nội dung chỉ có âm thanh có thể là giao thức MPEG-2 hoặc luồng âm thanh cơ bản MPEG, ở định dạng AAC với tiêu đề ADTS hoặc ở định dạng MP3. " Máy chủ nhạc của chúng tôi đang sử dụng bộ mã hóa OddcastV3 để gửi ba luồng (MP3, HE-AAC V2 và Oggvorbis) đến máy chủ icecastV2. Không chắc liệu bộ mã hóa có đang chèn các tiêu đề ADTS cho luồng HE-AAC V2 hay không. Có cách nào để kiểm tra điều này không?

+0

đó là doanh nghiệp của bạn, nhưng lời khuyên của tôi dành cho bạn là có được danh tiếng hơn trên SO và có thể bắt đầu một tiền thưởng cho câu hỏi đầu tiên. bạn có thể kiếm được danh tiếng trả lời bất kỳ chủ đề nào, không chỉ liên quan đến ios. –

+1

Đọc từ tài liệu Phát trực tiếp HTTP của Apple cho thiết bị iOS, rằng "Nội dung chỉ có âm thanh có thể là truyền tải MPEG-2 hoặc luồng âm thanh cơ bản MPEG, ở định dạng AAC với tiêu đề ADTS hoặc ở định dạng MP3". Không chắc chắn liệu luồng có tiêu đề ADTS hay không. Không chắc chắn nếu đây là vấn đề ... – RMX

+0

Tại đây http://developer.apple.com/resources/http-streaming/ ở bên phải, bạn có thể tìm thấy công cụ để kiểm tra luồng. Sau khi cài đặt, bạn sử dụng nó như sau: mediastreamvalidator validate - timeout = 60 http://ssite.com/track.mp3 Bạn sẽ thấy những vấn đề quan trọng nhất trong nhật ký. –

Trả lời

1

đến từ một quan điểm lập kế hoạch phát thanh của quan điểm - đây là hai của tôi cent:

Những gì bạn đang mô tả âm thanh như băng thông hình - đó là cả một thiết kế phổ biến và thường neccesary các mạng vô tuyến (như mạng 3G). Trong hầu hết các nhà khai thác 3G, tôi thường làm việc tối ưu mạng của bạn để cung cấp tốc độ cao (nghĩ tải xuống hình ảnh, gửi một email hoặc tìm nạp một trang HTML) - qua các dịch vụ băng thông cao "dài". Điều này là do thực tế đơn giản rằng đây là những gì hầu hết người dùng muốn/cần.

Việc định hình này có thể trên mạng 3GPP (GSM 3G) điển hình mà trước tiên bạn sẽ nhận được RAB (bộ truy cập vô tuyến) hỗ trợ 384kbit và sau đó được hạ cấp miễn là thiết bị của bạn chấp nhận. Điều này có nghĩa là typicall bạn sẽ được chuyển từ 384 -> 256 -> 128, sau đó 64kbit nơi có thể thiết bị của bạn bắt đầu nhận dữ liệu từ từ, sau đó mạng nâng cấp và hạ xuống sau một thời gian.

Vậy tại sao không phải là tệp MP3 nói lắp? tôi đoán là tỷ lệ kbit tổng có thể khác nhau - vì vậy bạn có thể sử dụng RAB 64kbit. Đây là một hiện tượng phổ biến.

+0

bạn nói rằng "tổng kích thước có thể khác", tuy nhiên không có tổng kích thước vì đây là đài phát trực tuyến và không tải xuống tệp kích thước cụ thể cho dù MP3 hoặc HE-AAC. – RMX

+0

xin lỗi - tôi có nghĩa là "tổng tỷ lệ kbit". Tôi đã cập nhật câu trả lời của mình. Bạn đã làm một snoop mạng (có thể dễ dàng được thực hiện bằng cách sử dụng intstruments trong giả lập) – Magnus

+0

Đã không thực hiện một snoop mạng. Thậm chí không biết đó là gì! lol – RMX

0

Chúng tôi đã quản lý để có được chính xác điều tương tự đang hoạt động. 64kbit AAC-v2 trên thiết bị di động. Chúng tôi đang phát trực tuyến các tệp và không phải là luồng ổn định, tôi nghĩ Magnus là đúng khi anh ấy giải thích cách mạng ưu tiên lưu lượng truy cập thành các vụ nổ, trong trường hợp của chúng tôi có nghĩa là chúng tôi có phần lớn tệp ngay lập tức và người chơi có thể tiếp tục chơi cho đến khi tiếp theo bùng nổ. Trong trường hợp của bạn, điều đó có nghĩa là luồng tạm dừng cho đến khi vụ nổ tiếp theo đến.

Hoặc là nếu bạn có thể chuyển sang các đoạn lớn hơn trong luồng của bạn (bộ đệm lớn hơn) hoặc truyền trực tuyến toàn bộ tệp?

Chúng tôi đã có hiện tượng rất lạ với iOS, chúng tôi đã đổi tên tất cả các tệp từ .m4a thành .aac để có thể phát trực tuyến chúng trên iOS. Nếu chúng tôi không đổi tên thì iOS sẽ không chơi chúng.

Chúc may mắn.

+0

Cảm ơn bạn đã nhập. Thật không may, chúng tôi không thể phát trực tuyến toàn bộ tệp vì điều này được xây dựng cho một đài phát thanh internet có lưu lượng 24 giờ mỗi ngày. Ngoài ra đây không phải là một ứng dụng, thay vào đó chúng tôi đang phát trực tuyến bằng cách sử dụng HTTP Live Streaming cho iOS (trực tiếp thông qua Safari trên thiết bị di động), do đó chúng tôi không thể kiểm soát bộ đệm. Tôi vẫn còn rất bối rối về toàn bộ vấn đề phát thanh. Sẽ không thực tế là vấn đề này vẫn xảy ra ở 128k AAC-V2 phủ nhận lời giải thích radio? Ngoài ra thực tế là MP3 hoạt động tốt ở 64kbps ... Bất kỳ cái nhìn sâu sắc về sự hiểu biết này có thể giúp chúng tôi giải quyết vấn đề. Cảm ơn một lần nữa – RMX

Các vấn đề liên quan