2016-09-16 5 views
1

h264로 비디오를 스트리밍하려고합니다. 소스는 축 카메라입니다. 멀티 캐스트로 jpeg를 스트리밍했지만 h264는 스트리밍하지 못했습니다. 다음 명령을udp gstreamer를 사용하여 h264를 스트리밍하는 방법

gst-launch-1.0 udpsrc uri=udp://239.194.0.177:1026 ! application/x-rtp,encoding-name=JPEG,payload=26 ! rtpjpegdepay ! jpegdec ! autovideosink 

내가 H264 스트리밍을 시도했지만 실패, 사용 : JPEG와

나는 다음 명령을 사용

gst-launch-1.0 -v udpsrc host=239.194.0.177 port=1026 ! rtph264depay ! ffdec_h264 ! xvimagesink 

내가받을 다음과 같은 오류 :

ERROR: pipeline could not be constructed: no element "udpsrc". 

다음 행 포함 :

gst-launch-1.0 udpsrc uri=udp://239.194.0.177:1026 ! application/x-rtp,media=video,clock-rate=90000,encoding-name=H264 ! rtph264depay ! h264parse 

나는 오류를 못해서하지만 비디오 스트리밍하지 않으며이이 터미널에 인쇄 된 :

Stream H.264 video over rtp using gstreamer

https://developer.ridgerun.com/wiki/index.php/Using_UDP_Multicast_with_GStreamer

:

Setting pipeline to PAUSED ... 
Pipeline is live and does not need PREROLL ... 
Setting pipeline to PLAYING ... 
New clock: GstSystemClock 

내가 다음 페이지에서 명령을 시도 http://labs.isee.biz/index.php/Example_GStreamer_Pipelines#H.264_RTP_Streaming

하지만 작동하지 못했습니다.

verbos 모드에서 실행할 때 나는 더 많은 정보를 얻는다.

명령 :

gst-launch-1.0 -v udpsrc uri=udp://239.194.0.177:1026 ! application/x-rtp, media=video, payload=96, encoding-name=H264 ! rtph264depay ! avdec_h264 ! videoconvert ! fakesink 

출력 :

Setting pipeline to PAUSED ... 
Pipeline is live and does not need PREROLL ... 
Setting pipeline to PLAYING ... 
New clock: GstSystemClock 
/GstPipeline:pipeline0/GstCapsFilter:capsfilter0.GstPad:src: caps = "application/x-rtp\,\ media\=\(string\)video\,\ payload\=\(int\)96\,\ encoding-name\=\(string\)H264\,\ clock-rate\=\(int\)90000" 
/GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0.GstPad:sink: caps = "application/x-rtp\,\ media\=\(string\)video\,\ payload\=\(int\)96\,\ encoding-name\=\(string\)H264\,\ clock-rate\=\(int\)90000" 

어떻게 H264가있는 GStreamer와 멀티 캐스트를 통해 스트리밍 할 수 있습니까? 너무 의견 긴

+0

-v GST-출시와 상세 모드에서 그 일을 시도 -1.0 udpsrc uri = udp : //239.194.0.177 : 1026! application/x-rtp, 미디어 = 비디오, 클럭 속도 = 90000, 인코딩 이름 = H264! rtph264depay! h264parse! fakesink - 파이프 라인의 모든 요소 뒤에 fakesink를 추가하여 문제의 원인이되는 요소를 고정하십시오. –

답변

1

- 아무도 답변으로 생각이 초안을 게시 응답되지 않기 때문에 .. 어떤 요소 udpsrc에 대한

첫 번째 오류는 정말 이상한입니다. 하지만 나는 uri 매개 변수가 누락되었다고 불평한다고 생각합니다. 어떤 버전을 사용하고 있습니까? udpsrc에 대한 호스트 매개 변수가 없습니다.

세 번째 파이프 라인에서 h264parse로 끝납니다 - 이건 오타입니까? 당신은 H264을 디코딩 할 필요가 .. 그냥 구문 분석하지 :

gst-launch-1.0 udpsrc uri=udp://239.194.0.177:1026 ! application/x-rtp,media=video,clock-rate=90000,encoding-name=H264 ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! autovideosink 

는 또한 GST_DEBUG=3 gst-launch-1.0 .... 정도를 실행하는 (어쩌면 페이스트 빈 너무 긴 경우에) 일부 로그를 추가합니다.

그것은 무엇을 의미 하는가 :

But could not get it to work

이 너무 많은 말을하지 않습니다 RTP로 작업 할 때)

보통 당신은 연결하거나 전혀 재생되지 않을 수 있습니다 그렇지 않으면 정말 모든 기능을 제공해야합니다.

uridecodebin을 사용해 보시겠습니까?

gst-launch-1.0 uridecodebin uri = udp : // etcetc : port! videoconvert! (..뿐만 아니라 다른 사람을 위해) 당신이 어떤 새로운 정보를 정기적으로받을 경우/질문 그림 전체를 만들기 위해 업데이트로 추가

autovideosink

HTH는

+0

명령을 시도했지만 스트림이 열리지 않았습니다. 이전과 같은 메시지가 표시됩니다. 즉, 새 시계 후에 아무 일도 일어나지 않습니다. GstSystemClock 및 오류가 없습니다. 또한 모든 요소 다음에 fakesink를 추가했지만 아무 것도 얻지 못했습니다. 명령에는 아무런 문제가없는 것으로 보이지만 어떤 이유로 든 스트림이 포함 된 창이 h264로 열리지 않습니다. 카메라가 h264와 함께 멀티 캐스트를 보내고 네트워크가 wiresharked되어 패킷이 실제로 전송되는지 확인합니다. 이제 나는 패킷이 보내졌다. 또한 GST_DEBUG = 3을 사용할 때 추가 정보가 인쇄되지 않았습니다. – S4M1R

+0

로그를보고 싶습니다 .. 어쩌면 = 4 레벨로 – nayana

+0

로그와 로그 4 https://drive.google.com/open?id=0B-lpWopRD2DXdVRRSEs1cW1DNkk – S4M1R