2011-12-21 35 views
6

Tôi đang phát video Phát trực tiếp HTTP bằng trình phát AVPlayer.Truy cập dữ liệu của AVPlayer khi phát video từ HTTP Live Streaming

Có cách nào để truy cập dữ liệu được lưu trong bộ nhớ cache của trình phát để lưu cục bộ không?

+1

theo như tôi biết, bạn không thể làm điều đó từ phát trực tiếp. – Vlad

+0

đó là kinh nghiệm của tôi quá – V1ru8

+0

Các bạn có biết nếu sau đó, có một cách để lần đầu tiên đọc dòng chảy của một thành phần tùy chỉnh để lưu dữ liệu và sau đó chuyển tiếp nó đến AVPlayer? Tôi thực sự đang tìm cách tìm cách lưu dữ liệu ... – MartinMoizard

Trả lời

7

TLDR; Điều đó không phải là không thể nhưng kết quả rất có thể sẽ không tuyệt vời như vậy.

Hãy nhớ rằng luồng video HTTP thực sự bao gồm nhiều luồng băng thông. Mỗi trong số đó được chia thành các đoạn luồng truyền tải MPEG nhỏ hơn.

Để phát các luồng đó, AVPlayer thường chọn một trong các luồng băng thông có sẵn, bắt đầu tải trước và cũng sẽ sớm phát. Bây giờ AVPlayer bắt đầu nâng cao thanh và bắt đầu tải xuống các đoạn từ luồng băng thông cao hơn. AVPlayer sẽ nâng thanh một lần nữa cho đến khi nó đạt đến băng thông cao nhất có sẵn. Quá trình này sẽ được đảo ngược một khi AVPlayer xác định các vấn đề với việc giữ một độ dài nhất định có thể phát được tải trước trong hàng đợi của nó. Vì vậy, trong trường hợp thông lượng mạng bị giảm, luồng băng thông thấp hơn được chọn. Chi tiết triển khai chính xác không được chỉ định nhưng đó là cách hoạt động của nó.

Bây giờ hãy tưởng tượng bạn sẽ lưu trữ cục bộ/lưu trữ dữ liệu đó. Bạn sẽ nhận được một kết hợp của nhiều băng thông TS khối - không phải bất cứ điều gì bạn có thể phát lại ra khỏi hộp. Ngoài ra, bạn sẽ đặt tải bổ sung vào quy trình này khi quyền truy cập hệ thống tệp thay vì là đắt tiền trên thiết bị di động trong những ngày này.

Nhìn chung, tôi nghĩ rằng điều đó không hoàn toàn là không thể nhưng sẽ không tầm thường chút nào. Tôi đã đọc về những người thử nghiệm với đường ống hệ thống tập tin về vấn đề này nhưng họ không bao giờ có nó để làm việc.

+1

Cảm ơn bạn đã đứng đầu, tôi xác nhận những gì tôi đã suy nghĩ. Tôi sẽ cập nhật chủ đề này nếu tôi có bất kỳ cập nhật nào – MartinMoizard

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