2009-12-03 5 views
0

UAV에서 어떤 종류의 카메라를 시뮬레이트하고 싶습니다. 카메라는 라이브 스트림을 제공하고 네트워크 연결을 통해 스트림을 서버에 보냅니다. 서버에서 스트림을 재생할 수 있어야합니다.클라이언트에서 서버로 동영상 스트림 보내기. 파이썬 서버가 즉시 스트림을 재생해야합니다.

나는 클라이언트 (UAV)가 단지 움직이는 부분을 읽고 그것을 서버로 보냈다고 생각하고 있었다. 그러나 서버가 어떻게 파일을 즉석에서 보여줄 수 있습니까? 가장 간단한 방법은 xine 또는 MPlayer를 사용하여 영화를 보는 것입니다. 그러나 어떻게?

이것은 Python과 GNU/Linux에서 수행됩니다. 클라이언트와 서버는 모두 같은 시스템에 있습니다.

가장 중요한 문제는 전체 파일을 사용할 수있게되기 전에 서버에서 파일을 즉시 재생하도록하는 것입니다. 어떤 아이디어?

EDIT : 서버와 클라이언트는 표준 TCP/IP 연결로 연결됩니다. 연결시 비디오 피드가 혼자가 아닙니다.

+1

스트리밍 비디오 서버를 검색하거나 스트리밍 비디오 프로토콜을 검색했을 때 무엇을 보았습니까? Google 검색에서 귀하를위한 특정 질문이 있습니까? –

답변

0

시도 '웹캠'데비안에

sudo apt-get install webcam 

.

USB 카메라에서 이미지를 가져 와서/var/www /에있는 jpg 파일에 넣으면 이미지 파일을 가리키는 가능한 한 빨리 자동 새로 고치는 html 페이지를 만듭니다.

나는 그게 아주 우아한 해결책이 아니라 내가 아는 유일한 것임을 안다.

직접 작성하는 경우에는/dev/video0 (아마도)의 데이터를 읽고 표준 비디오 형식에 따라 인코딩하고 클라이언트 프로세스가있는 소켓을 열고 비디오 데이터를 소켓으로 전송합니다. 소켓을 통해 데이터를 스트리밍하는 올바른 방법에 대한 몇 가지 규칙이 있습니다.

+0

체크 아웃 http://en.wikipedia.org/wiki/Real-time_Streaming_Protocol – Nathan

+1

이것은 매우 유익한 정보입니다. http://www.jejik.com/articles/2007/01/streaming_audio_over_tcp_with_python-gstreamer/ – Nathan

+0

고정 이미지 사용을 추측합니다. 더 쉬울 것이고 다음 이미지가 다운로드되는 동안 이미지를 보여주기 위해 feh를 사용하면됩니다. 비디오를 사용했다면 이미 인코딩되었을 것입니다. 그래서 나는 인코딩 할 필요가 없었습니다 – Orjanp