2013-12-03 18 views
9

Nhiều người đã cố gắng để bộ nhớ cache dữ liệu video được nạp sẵn sử dụng AVPlayer hoặc MPMoviePlayerController, ví dụVideo phát trực tuyến bộ nhớ cache với proxy HTTP được nhúng?

Phương pháp đơn giản nhất sẽ dường như được sử dụng AVExportSession trên máy nghe nhạc của currentItem , nhưng không ai có thể làm cho nó hoạt động.

Câu hỏi của tôi là: có thể minh bạch ủy quyền các yêu cầu video trên thiết bị, với máy chủ HTTP được nhúng được hỗ trợ bởi bộ đệm dựa trên đĩa không?

tôi có thể chạy một máy chủ web nhúng (GCDWebServer), vì vậy câu hỏi của tôi là

  1. Will bộ nhớ đệm vít lên mã băng thông tối ưu hóa AVPlayer 's mà cố gắng để chọn dòng băng thông cao nhất có thể? Nếu đây là vấn đề, tôi có thể kiểm soát luồng để nó chỉ cung cấp một tùy chọn.

  2. Hiệu suất của đĩa có đủ để cải thiện mạng không? Nó sẽ có vẻ như nó rõ ràng sẽ được, nhưng tôi đã nhìn thấy một loạt các bài báo trên web nói về cách chậm đĩa I/O là trên iOS.

Cảm ơn!

+0

không rõ ràng từ câu hỏi của bạn và các câu hỏi mà bạn đề cập đến chỉ là mục tiêu của bạn ở đây. Bạn đang cố gắng lưu một bản sao của video đã phát cục bộ (ref của bạn vào AVExportSession) hay bạn đang cố triển khai bộ nhớ cache của riêng mình để cải thiện khả năng phát lại? – MDB983

+0

Tôi không thấy sự khác biệt mà bạn đang cố gắng vẽ. Sự khác nhau giữa "lưu bản sao của video được phát cục bộ" và "triển khai bộ nhớ cache để cải thiện phát lại" là gì? Chẳng phải những thứ này giống nhau sao? Tôi không biết các phương pháp lưu trong bộ nhớ đệm sẽ không lưu video cục bộ. – bcattle

+0

Sự khác biệt là trong việc thực hiện. Như bạn đã chỉ ra, bạn có thể sử dụng một cơ chế proxy để nắm bắt những gì đang trong quá trình tải xuống (từ quan điểm "người chơi"), hoặc một AVExportSession mà về cơ bản nắm bắt dữ liệu đã tải xuống/đang được phát. – MDB983

Trả lời

0

Đối với HTTP Live Streaming:

Nếu máy chủ web nhúng là để lưu trữ các tập tin phân khúc phương tiện truyền thông mà bao gồm các thức ăn HTTP dòng sống, sau đó các tập tin sẽ cần phải được tải về thiết bị đã có, trừ khi bạn cấu hình lại máy chủ web hoạt động như một proxy.

Trong cả hai trường hợp, có vẻ cách đơn giản hơn là tải xuống và phân tích cú pháp tệp chỉ mục (thường là prog_index.m3u8) để nhận danh sách tệp phân đoạn truyền thông và sau đó chỉ bắt đầu tải xuống từng tệp.

+1

Cảm ơn thông tin chi tiết. Tôi đã tưởng tượng ra một proxy trong suốt. Vì vậy, bạn đang nói mở và đọc các tập tin '.m3u8', sau đó minh bạch proxy mỗi dòng trong đó? – bcattle

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