2017-09-18 4 views
0

나는 MacOS에서 작동하는 발신인 및 수신인 응용 프로그램을 얻으려고합니다. 내가 할 모든 녹색 박스, 수신기 측에GStreamer 스트리밍 및 수신 on macOS

./gst-launch-1.0 -v udpsrc port=5000 ! tsparse ! decodebin name=dec ! videoconvert ! osxvideosink sync=true dec. ! queue ! audioconvert ! audioresample ! osxaudiosink sync=true 

: 송신자 측에

: 수신 측에

./gst-launch-1.0 -v uridecodebin name=uridec uri=file:///Users/nathanapps/Documents/Vuze\ Downloads/John\ Wick\ Chapter\ 2\ 2017\ 720p\ BRRip\ 900\ MB\ -\ iExTV/John\ Wick\ Chapter\ 2\ 2017\ iExTV.Com.mp4 ! queue ! videoconvert ! x264enc ! video/x-h264 ! mpegtsmux name=mux ! queue ! udpsink host=224.3.0.11 port=5000 sync=true uridec. ! audioconvert ! voaacenc ! audio/mpeg ! queue ! mux. 

다음은 내가 사용하고있는 명령입니다. 나는 VLC로 시도한 것처럼 서버 끝이 작동하는 것을 압니다. 어떤 도움이라도 대단히 감사하겠습니다!

답변

1

수신기의 올바른 파이프 라인은 다음과 같이해야한다 :

gst-launch-1.0 udpsrc uri=udp://127.0.0.1:5000 ! video/mpegts ! tsdemux name=demux ! video/x-h264 ! queue ! decodebin ! autovideosink demux. ! audio/mpeg ! queue ! decodebin ! autoaudiosink 

(gstreamer를 테스트 소스를 사용) 정확히 보낸 파이프 라인과 동일한 다음 입력 파이프 라인과 함께 리눅스에서 테스트 :

gst-launch-1.0 videotestsrc is-live=true ! videoconvert ! x264enc tune=zerolatency ! video/x-h264 ! mpegtsmux name=mux ! queue ! udpsink host=127.0.0.1 port=5000 sync=true audiotestsrc is-live=true ! audioconvert ! voaacenc ! audio/mpeg ! queue ! mux. 

OS X에 autoaudiosink 및 autovideosink 싱크 래퍼를 변경할 수 있지만 반드시 필요하다고 생각하지 않습니다.

+0

고마워요. OS X wrappers로 시도해 봤는데 녹색 상자 만 있습니다. – user3298095

+0

정확하게 동일한 파이프 라인을 사용하고 있습니까? – jgorosdev

+0

예 : 자동 스크롤을 osxaudiosink에 스 와이프하고 autovideosink를 osxvideosink에 스 와이프하여 gst-launch-1.0처럼 udpsrc uri = udp : //224.3.0.11 : 5000! 비디오/mpegts! tsdemux name = demux! video/x-h264! 대기열! 디코드 빈! osxvideosink demux. ! 오디오/mpeg! 대기열! 디코드 빈! osxaudiosink – user3298095