그럼 먼저 확인 뭐죠 스트림의 종류 ..
접근 방식의 정체성 디버깅 요소 1
확인 버퍼 :
gst-launch-1.0 rtspsrc location=rtsp://mpv.cdn3.bigCDN.com:554/bigCDN/definst/mp4:bigbuckbunnyiphone_400.mp4 name=r ! application/x-rtp,media=video ! identity silent=false ! fakesink -v
되어야 버퍼의 정보를 확인 형태 :
/GstPipeline : 파이프 라인 0/GstRTSPSrc : r.GstGhostPad : recv_rtp_src_0_2072847348_96.GstProxyPad : proxypad9 : caps = "application/x-rtp \, \ media \ = (문자열) 오디오 \, \ payload \ = (int) 96 \, \ clock-rate \ = (문자열) 1, \ 모드 \ = (문자열) 2, \ 프로필 수준 ID = (문자열) 4800 \, \ 인코딩 이름 \ = (문자열) MPEG4-GENERIC \, 인코딩 매개 변수 \ (string) 13, \ indexlength \ = (문자열) 3 \, \ indexdelength \ = (문자열) 3 \, \ config \ = (문자열) 119008c400002000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000 \, \ a (문자열) AAC-hbr \, \ sizelength \ (기본) 0, \ seqnum-base \ = (단위) 1 \, \ npt-start \ = (기본) (guint64) 0 \ \ NPT 스톱 \ = (guint64)를 encoding- \ = (더블) 1 \ \ 플레이 스케일 \ = (더블) 한
공지 596,458,000,000 \ \ 재생 속도 이름이 .AAC를 가리킨다. 이것은 mp4에서 기본적으로 사용됩니다. 동일하게 비디오에도 적용됩니다. application/x-rtp, media = video 유형의 버퍼를 다시 검색합니다. mp4 generic - h264.
접근법 2 :
쉽게 그냥 uridecodebin
를 사용하여 점 파일을 덤프하고 각각의 요소는 파이프 라인을 구축하는 방법을보고 복사
GST_DEBUG_DUMP_DOT_DIR=`pwd` gst-launch-1.0 uridecodebin uri=rtsp://mpv.cdn3.bigCDN.com:554/bigCDN/definst/mp4:bigbuckbunnyiphone_400.mp4 ! fakesink
이 파일을 생성됩니다 .dot 확장자로 - PAUSE_PLAYING을 가져 와서 dot -T png 0.0blabla.dot -o blabla.png
으로 그림을 만드십시오. rtpsometginfdepay 뒤에 요소를 확인하십시오. 비슷한 파이프 라인을 구축 할 수있는 모든 정보를 정기적으로
:
gst-launch-1.0 -e mp4mux name=m ! filesink location=bla.mp4 rtspsrc location=rtsp://mpv.cdn3.bigCDN.com:554/bigCDN/definst/mp4:bigbuckbunnyiphone_400.mp4 name=r r. ! "application/x-rtp,media=video" ! rtph264depay ! h264parse ! m. r. ! "application/x-rtp,media=audio" ! rtpmp4gdepay ! aacparse ! m.
(나는 mp4mux했던 것처럼) 당신이 GST 발사의 시작 부분에 요소를 생성하지만 나중에 사용할 수 있습니다 유의하십시오.
HTH