Raspberry Pi 카드에 h.264 형식의 비디오가 저장되어 있습니다. 비디오는 다른 컴퓨터의 요청에 따라 제어된 데이터 속도로 이더넷 케이블을 사용하여 다른 컴퓨터로 전송되어야 합니다. 나는 이것이 소켓 프로그래밍과 rtsp를 사용하여 이루어질 수 있다고 생각합니다. 그러나 나는 다음 두 가지 점을 주장합니다.
- 저장된 비디오 질문은 라이브 비디오 스트림과 어떻게 다릅니까?
- 데이터 속도를 제어하는 방법은 무엇입니까?
- h.264 패킷 패키징에 특별한 점이 있나요?
답변1
라이브 비디오 스트리밍은 로컬 파일 읽기가 허용하는 것과는 매우 다른 방식으로 전송 오류, 무작위 액세스/재동기화 및 ff/rew를 처리해야 합니다. 또한 "비디오"가 실제로 "오디오 + 비디오 번들"을 의미하는 경우 A 및 V 인터리빙에 문제가 있을 수 있고 클럭킹 및 립싱크와 관련된 문제가 있을 수 있습니다.
확률적 솔루션이 충분하고 소스가 "오버 펌핑"할 수 있는 경우 비트 전송률 제어 파일 전송 프로그램 클라이언트(예: FTP용)를 만드는 것이 간단합니다. 그렇지 않으면 비트레이트 제어 펌프의 더 어려운 문제를 해결해야 할 수도 있습니다.
그것은 모두 파일에 실제로 무엇이 포함되어 있는지에 따라 다릅니다. 예를 들어 H.264 Part 10 비디오와 ISO 11172-3 오디오가 포함된 ISO 13818-1 전송 스트림을 참조할 수 있습니다. 그러면 파일의 패킷은 188바이트 전송 스트림 패킷이 됩니다. 당신이 말하는 의미에서 패킷 구조가 없는 실제 H.264 파일을 의미할 수도 있습니다. 좋은 소식은 파일 전송만 필요한 경우 이러한 파일 패키징 형식은 거의 관련이 없다는 것입니다. 파일 프로토콜에서 사용하려는 형식을 사용하면 됩니다. 참고: RTSP는 실제로 데이터를 전송하는 것이 아니라 스트리밍 세션을 설정하는 데 사용되므로 문제와 관련이 없을 수 있습니다.