Netcat을 사용하여 비디오를 스트리밍하는 방법

Netcat을 사용하여 비디오를 스트리밍하는 방법

Raspberry Pi로 비디오를 스트리밍하고 싶으므로 다음과 같이 합니다.

raspivid ... -o - | nc -l -k 4242

하지만 문제는 누군가가 연결될 때까지 파이프 또는 가 nc데이터를 버퍼링하고 있다는 것입니다. 하지만 나는 그러고 싶지 않아요. 누군가 연결될 때까지 모든 데이터를 삭제하고 싶습니다.

답변1

데이터가 흐르기 전에 클라이언트가 연결되어야 하는 수신 대기 TCP 소켓을 설정했습니다. 그러나 UDP 소켓을 설정하더라도 스트림 해석 방법을 정의하는 메타데이터 없이 클라이언트 스트리밍 연결로 끝날 수 있습니다.

메타데이터를 자주, 주기적으로 제공하는 프로토콜이 있는 경우 UDP 소켓을 사용해 볼 수 있습니다. 내 버전에는 nc해당 옵션이 없지만 -k(적어도) 두 가지 다른 버전을 사용할 수 있다는 것을 알고 있으므로 테스트된 명령줄 예제를 제공할 수 없습니다.


비디오를 스트리밍하려면 특수 제작된 소프트웨어를 사용해야 합니다. 이는 복잡한 기술 영역(및 특허가 많기 때문에 복잡한 법적 영역)이므로 간단한 콘텐츠(예: MJPEG)를 전송하는 것이 아닌 한 간단한 솔루션(예: netcat.

소프트웨어 응용 프로그램의 몇 가지 예는 다음에서 찾을 수 있습니다.비디오 네트워크,아이스 캐스트,노천 채굴장, 또는레드 5.


사실 좀 읽어봐선적 서류 비치raspividxinetd또는 제공되는 리스너를 사용 systemd하여 들어오는 연결을 처리한 다음 raspividTCP 연결이 설정되면 시작할 수 있는 것 같습니다 . 여전히 트래픽 제어나 실시간 대역폭 관리는 불가능하지만 제어된 네트워크에서는 목표를 만족스럽게 달성할 수 있습니다.

관련 정보