GStreamer는 단일 비디오 스트림을 설정하는 것조차 매우 복잡하고 정교할 수 있습니다. 다중 스트림이나 실시간 녹화 등 편의 기능 대부분은 사용자 인터페이스가 제공되는 Discovery에서 훨씬 간단하게 사용할 수 있습니다.
GStreamer 명령줄용 변수 식별
연결된 장치의 비디오 스트림을 연결하려면, 먼저 dweOS를 구성합니다.
먼저 노트북/데스크톱의 IP 주소를 확인합니다. 이 주소를 dweOS 소프트웨어에 입력하게 됩니다.다음을 실행하여 확인할 수 있습니다:많은 주소가 표시되지만, 특히
inet 뒤에 나오는 주소를 살펴보세요.
확인한 IP를 dweOS의 IP 주소 필드에 입력하고, 스트리밍 대상 포트를 적어 둡니다(기본값 5600).이 예시에서 확인한 IP는 192.168.5.55이고 포트는 5600입니다.

포트 필드가 5601로 설정되는 것은 프로그램에서 자동으로 표시되는 것이며, 실제로 스트리밍 중인 엔드포인트에만 카메라 아이콘과 삭제용 휴지통 버튼이 표시됩니다.
GStreamer의 형식은 다음과 같습니다:
포트를 염두에 두고, GStreamer 명령에서 알아두어야 할 매개변수가 몇 가지 있습니다.중요 플래그:
-v(Verbose): 스트림 정보를 출력하여 요소 간에 협상된 해상도/포맷을 확인할 수 있습니다.-e(EOS - End of Stream): 녹화에 매우 중요합니다. 이 플래그 없이 Ctrl+C를 누르면 파일이 손상(헤더 누락)될 수 있습니다. 이 플래그는 깔끔한 종료를 강제합니다.--help-all: 시스템에서 사용 가능한 모든 요소를 나열합니다.
-
videotestsrc: 테스트 패턴(컬러 바, 노이즈 등)을 생성합니다. -
매개변수:
pattern=smpte(또는snow,ball등) -
autovideosrc/v4l2src: 웹캠(Linux). -
매개변수:
device=/dev/video0 -
filesrc: 로컬 파일을 읽습니다. -
매개변수:
location=./video.mp4 -
udpsrc: UDP를 통해 네트워크 데이터를 수신합니다.- 매개변수:
port=5600(수신 포트). - 매개변수:
caps="..."(필수! 원시 바이트가 실제로 무엇인지 GStreamer에 알려줍니다). - 매개변수:
buffer-size=524288(고해상도 스트림에서 패킷 손실을 방지하기 위해 버퍼를 늘립니다).- H264의 표준 버퍼 크기는
96이고 MJPEG은26입니다.
- H264의 표준 버퍼 크기는
- 매개변수:
-
autovideosink: 창을 열고 비디오를 재생합니다. -
fakesink: 데이터를 폐기합니다(파이프라인이 오류 없이 실행되는지 테스트할 때 유용). -
filesink: 파일에 씁니다. -
매개변수:
location=output.mp4 -
udpsink: 네트워크를 통해 스트리밍합니다.
-
videoconvert: 색공간을 변환합니다(예: YUV에서 RGB로). “could not link” 오류가 발생하면 중간에 삽입하세요. -
videoscale: 비디오 크기를 조정합니다. -
capsfilter: 특정 형식을 강제합니다. 구문:video/x-raw,width=1920,height=1080. -
rtp[format]depay: 디페이로더. RTP 네트워크 패킷의 포장을 풀어 내부 스트림을 드러냅니다.- 예시:
rtpjpegdepay(MJPEG용),rtph264depay(H.264용).
- 예시:
-
[format]dec: 디코더. 비디오를 표시용 원시 픽셀로 압축 해제합니다.- 예시:
jpegdec,avdec_h264.
- 예시:
GStreamer를 테스트하기 위한 명령 예시 몇 가지입니다:테스트 패턴웹캠 표시(가능한 경우)웹캠을 720p 30fps로 강제웹캠 녹화
고해상도의 경우, 비디오 출력은 보통 압축된 MJPEG입니다.
image/jpeg는 카메라에서 오는 압축된 형식을 받아들입니다.jpegdec는 디코더를 추가하여 해당 JPEG 스트림을 원시 비디오로 되돌려 창에서 표시할 수 있게 합니다.이 명령은 백그라운드에서 녹화하며, 클립을 마치려면
Ctrl + C를 누르세요. 그러면 현재 디렉터리에 파일이 저장됩니다.이 예시에서 파일 이름은 test.mp4이며, ls -lh test.mp4로 존재를 확인할 수 있습니다.dweOS에서의 스트리밍 설정
GStreamer 명령에 대한 이해를 바탕으로, dweOS에 맞는 비디오 스트림을 설정해 보겠습니다.dweOS에서 지정한 비디오 코덱(MJPEG / H264)에 따라 다음 중 하나를 실행합니다:MJPEGH264이제 카메라의 라이브 스트림이 창에 표시되어야 합니다!
녹화 설정
스트림을 녹화하려면, 다시 한번 비디오 코덱이 중요합니다!터미널에 다음과 비슷한 텍스트가 표시되면 스트림이 녹화되고 있음을 알 수 있습니다:
MJPEGMKV용H264MKV용MP4용

위 줄은 MKV 형식용입니다. AVI는 GStreamer에서 다루기가 매우 까다로워 출력 데이터를 매우 특정한 방식으로 형식화해야 하기 때문입니다. 가능은 하지만, MJPEG에서 AVI로 변환하는 것은 기본 출력으로 사용하는 Discovery에서 훨씬 간단합니다.
Discovery 다운로드
잠수용 네트워크 비디오 스트림을 위한 올인원 멀티미디어 솔루션.


