2016-09-25 7 views
1

나는 무인 항공기를위한 소형 WiFi 기반 FPV 카메라를 가지고 있습니다. 나는 파이썬을 사용하여 h264 파일을 다운로드하고 저장할 수있는 지점까지 도달 할 수 있었다.TCP를 통한 h264 스트림보기

TCP_IP = '193.168.0.1' 
TCP_PORT = 6200 
BUFFER_SIZE = 2056 

f = open('stream.h264', 'wb') 
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
sock.connect((TCP_IP,TCP_PORT)) 
while True: 
    data = sock.recv(BUFFER_SIZE) 
    f.write(data) 
    print("Writing") 
sock.close() 
f.close() 

지금 내가 해왔 던 것은 스트림을 재생하는 것입니다. 스트림을 찾았습니다. 스트림을 다운로드하여 저장할 수 있지만 지금은 스트림을 열고 싶습니다. 나는 VLC의 '열린 네트워크 스트림'을 다양한 옵션과 함께 사용하려했지만 그 중 아무 것도 작동하지 않는 것 같았다.

답변

0

I 그것은 예를 간단하게하는 입력

python cam.py - | mplayer -fps 20 -nosound -vc ffh264 -noidx -mc 0 -

0

data = sock.recv(BUFFER_SIZE) sys.stdout.buffer.write(data)

를 사용 MPlayer는 다음 갖는 MPlayer는 파이프 성공적 출력 : H.264 NALU 스트림을 보내기 (각 단위 전에 0,0,0,1이라는 접두어를 붙이면됩니다.)

더 멋진 것이 있으면 RTP에 패킹을 추가하고 멀티 캐스트를 통해 보낼 수 있습니다. 코드 작성 및 읽기가 쉽습니다.