AVPlayer로 HTTP 라이브 스트리밍 비디오를 재생하고 있습니다.HTTP 라이브 스트리밍에서 비디오를 재생할 때 AVPlayer의 데이터에 액세스합니다.
플레이어가 캐시 된 데이터에 액세스하여 로컬에 저장하는 방법이 있습니까?
AVPlayer로 HTTP 라이브 스트리밍 비디오를 재생하고 있습니다.HTTP 라이브 스트리밍에서 비디오를 재생할 때 AVPlayer의 데이터에 액세스합니다.
플레이어가 캐시 된 데이터에 액세스하여 로컬에 저장하는 방법이 있습니까?
TLDR; 그것은 불가능하지 않지만 결과는 그다지 크지 않을 것입니다.
HTTP 비디오 스트림은 실제로 여러 대역폭 스트림으로 구성됩니다. 이들 각각은 더 작은 MPEG 전송 스트림 청크로 분할됩니다.
이러한 스트림을 재생할 때 AVPlayer는 일반적으로 사용 가능한 대역폭 스트림 중 하나를 선택하고 사전로드를 시작하며 곧 재생됩니다. 이제 AVPlayer는 막대를 높이기 시작하여 더 높은 대역폭 스트림에서 청크를 다운로드하기 시작합니다. AVPlayer는 사용 가능한 가장 높은 대역폭에 도달 할 때까지 막대를 다시 올립니다. AVPlayer가 대기열에 미리로드 된 특정 재생 가능 길이를 유지하는 데 문제가 있으면이 과정이 반대로 진행됩니다. 따라서 네트워크 처리량이 감소되는 경우 더 낮은 대역폭 스트림이 선택됩니다. 정확한 구현 세부 사항은 지정되지 않았지만 이것이 대략 어떻게 작동 하는지를 설명합니다.
이제 로컬로 데이터를 저장/캐시한다고 가정 해보십시오. 다양한 대역폭 TS 청크를 혼합하여 얻을 수 있습니다. 상자 밖에서 재생할 수있는 것은 아닙니다. 또한 모바일 장치에서 파일 시스템 액세스가 비싸고 인 경우이 프로세스에 추가로드가 발생합니다.
전체적으로 전적으로 불가능한 것은 아니지만 전혀 사소하지 않다고 생각합니다. 필자는이 문제에 대해 파일 시스템 파이핑을 실험하는 사람들에 대해 읽었지만 결코 작동시키지 못했습니다.
머리를 가져 주셔서 감사합니다, 내가 생각한 것을 확인했습니다. 업데이트가 있으면이 스레드를 업데이트하겠습니다. – MartinMoizard
내가 아는 한, 당신은 라이브 스트리밍에서 그렇게 할 수 없습니다. – Vlad
그게 내 경험이야 – V1ru8
혹시 알고 계신가요? 데이터를 저장하고 AVPlayer로 전달할 사용자 지정 구성 요소의 흐름을 먼저 읽는 방법이 있습니까? 나는 데이터를 저장하는 방법을 찾기 위해 정말로 찾고 있습니다 ... – MartinMoizard