Chapter 2. GStreamer-1.0 Plugins Reference (GStreamer-1.0 플러그인 레퍼런스)
NXP BSP L5.4.24._2.1.1은 방대한 GStreamer 플러그인 목록을 지원한다. 이 섹션에서는 사용자 가이드에서 사용된 모든 플러그인에 대해 설명하지만, 사용자를 제한하려는 의도는 아니므로 자유롭게 다른 옵션을 사용해 보는 것을 권장한다.
사용 가능한 모든 플러그인을 확인하려면, 디바이스에서 다음 명령을 입력한다 :
$ gst-inspect-1.0
2.1. Video Decoder Plugins (비디오 디코더 플러그인)
비디오 디코더는 일반적으로 비디오 소스 형식(video source format)을 디스플레이와 같은 대상 싱크에서 해석할 수 있는 로우 형식(raw format)으로 연결하는 데 사용된다.
Table 2. Video Decoder Plugins
Video Decoder | Package | Description |
---|---|---|
decodebin | gst-plugins-base | 로우 미디어(raw media)를 자동 연결 및 디코딩 |
v4l2mpeg4dec | gst-plugins-good | V4L2 API를 사용한 MPEG4 스트림 디코딩 |
v4l2mpeg2dec | gst-plugins-good | V4L2 API를 사용한 MPEG2 스트림 디코딩 |
v4l2h264dec | gst-plugins-good | V4L2 API를 사용한 H.264 스트림 디코딩 |
v4l2h265dec | gst-plugins-good | V4L2 API를 사용한 H.265 스트림 디코딩 |
v4l2vp6dec | gst-plugins-good | V4L2 API를 사용한 VP6 스트림 디코딩 |
v4l2vp8dec | gst-plugins-good | V4L2 API를 사용한 VP8 스트림 디코딩 |
2.2. Video Encoder Plugins (비디오 인코더 플러그인)
디코더와 반대 역할을 하는 비디오 인코더는 로우 데이터(raw data)를 가져와 H.264 형식과 같은 인코딩된 비디오 형식으로 변환할 수 있다.
Table 3. Video Encoder Plugins
Video Encoder | Package | Description |
---|---|---|
encodebin | gst-plugins-base | 편리한 인코딩/다중화 요소 |
v4l2h264enc | gst-plugins-good | V4L2 API를 사용한 H.264 비디오 스트림 인코딩 |
2.3. Video Sink Plugins (비디오 싱크 플러그인)
비디오 싱크 플러그인은 디스플레이 출력을 통해 데이터 출력 결과를 표시하는 데 사용된다.
Table 4. Video Sink Plugins
Video Sink | Package | Description |
---|---|---|
autovideosink | gst-plugins-good | 자동으로 감지된 비디오 싱크를 위한 래퍼 비디오 싱크 |
kmssink | gst-plugins-bad | Linux Kernel 모드 설정 API*를 사용하는 비디오 싱크 |
ximagesink | gst-plugins-base | 표준 X 기반 비디오싱크** |
glimagesink | gst-plugins-base | GL 텍스쳐 처리를 위한 인프라 |
waylandsink | gst-plugins-bad | Wayland 표면으로 출력 |
fbdevsink | gst-plugins-bad | Linux 프레임 버퍼 비디오 싱크 출력 |
fpsdisplaysink | gst-plugins-bad | 현재 및 평균 프레임 속도가 있는 비디오 싱크 |
* 정보
kmssink 및 fbdevsink 플러그인을 사용하려면, 사용전에 weston 인터페이스를 중지한다.
$ systemctl stop weston
** 정보
ximagesink 플러그인을 사용하려면, 사용전에 X 서버를 시작한다.
$ export DISPLAY=:0
2.4. Demux Plugins (역다중화 플러그인)
Demuxer 플러그인은 다양한 비디오/오디오 형식을 파싱되지 않은 로우 데이터(raw data)로 변환하는 역할을 한다. 가장 일반적인 것은 아래 표에 설명되어 있다.
Table 5. Demux Plugins
Video Demux | Package | Description |
---|---|---|
qtdemux | gst-plugins-good | .mov/.mp4 파일을 로우 데이터(raw data)로 demux |
matroskademux | gst-plugins-good | .mkv 파일을 로우 데이터(raw data)로 demux |
flvdemux | gst-plugins-good | .flv 파일을 로우 데이터(raw data)로 demux |
avidemux | gst-plugins-good | .avi 파일을 로우 데이터(raw data)로 demux |
aiurdemux | imx-gst1.0-plugin | 로우 데이터(raw data)용 통합 파서 |
2.5. Mux Plugins
Muxer 플러그인은 파싱되지 않은 로우 데이터(raw data)를 특정 비디오/오디오 데이터로 변환하는 역할을 한다. 가장 일반적인 것은 아래 표에 설명되어 있다.
Table 6. Mux Plugins
Video Mux | Package | Description |
---|---|---|
qtmux | gst-plugins-good | 로우 데이터(raw data)를 .mov 파일로 mux |
matroskemux | gst-plugins-good | 로우 데이터(raw data)를 .mkv 파일로 mux |
flvmux | gst-plugins-good | 로우 데이터(raw data)를 .flv 파일로 mux |
avimux | gst-plugins-good | 로우 데이터(raw data)를 .avi 파일로 mux |
mp4mux | gst-plugins-good | 로우 데이터(raw data)를 .mp4 파일로 mux |
2.6. i.MX Proprietary Plugins (i.MX 독점 플러그인)
i.MX GStreamer 지원에는 다음과 같은 독점 플러그인이 있어서 사용자가 이를 사용하여 훌륭한 결과를 얻을 수 있다.
Table 7. i.MX Proprietary Plugins
i.MX Proprietary Plugins | Package | Description |
---|---|---|
vpudec | imx-gst1.0-plugin | 압축된 비디오를 로우 데이터(raw data)로 디코딩 |
vpuenc_h264 | imx-gst1.0-plugin | 로우 데이터(raw data)를 압축된 비디오로 인코딩 |
vpuenc_vp8 | imx-gst1.0-plugin | 로우 데이터(raw data)를 압축된 비디오로 인코딩 |
imxcompositor_g2d | imx-gst1.0-plugin | 하드웨어 가속으로 여러 비디오 스트림 합성 |
imxvideoconvert_g2d | imx-gst1.0-plugin | 하드웨어 가속 기능이 있는 i.MX 비디오 변환 플러그인 |
2.7. Audio Plugins (오디오 플러그인)
오디오 플러그인은 오디오 로우 형식(audio raw format)이나 WAV와 같은 특정 오디오 데이터 형식의 데이터를 정렬하는 역할을 한다.
Table 8. Audio Plugins
Audio Plugin | Package | Description |
---|---|---|
mpg123audiodec | gst-plugins-good | mpg123 라이브러리 기반의 MP3 디코딩 플러그인 |
vorbisdec | gst-plugins-base | 플로트 오디오(float audio)로 원시 vorbis 스트림을 디코딩 |
vorbisenc | gst-plugins-base | vorbis 형식으로 오디오 인코딩 |
alsasink | gst-plugins-base | ALSA를 통해 사운드 카드로 출력 |
pulsesink | gst-plugins-good | PulseAudio 서버로 오디오를 재생 |
2.8. Image Plugins (이미지 플러그인)
이미지 플러그인은 이미지 로우 형식(image raw format)이나 JPEG와 같은 특정 데이터 형식의 데이터를 정렬하는 역할을 한다.
Table 9. Image Plugins
Image Plugins | Package | Description |
---|---|---|
jpegdec | gst-plugins-good | JPEG 형식의 이미지 디코딩 |
v4l2jpegdec | gst-plugins-good | V4L2 API를 사용해 JPEG 스트림 디코딩 |
pngdec | gst-plugins-good | png 비디오 프레임을 로우 이미지(raw image)로 디코딩 |
jpegenc | gst-plugins-good | 이미지를 JPEG 형식으로 인코딩 |
pngenc | gst-plugins-good | 로우 이미지를 png 비디오 프레임으로 인코딩 |
imagefreeze | gst-plugins-good | 이미지에서 스틸 프레임 스트림을 생성 |
2.9. Network Protocol Plugins (네트워크 프로토콜 플러그인)
네크워크 프로토콜 플러그인은 네트워크를 통해 디바이스간에 연결을 설정하는 역할을 한다.
Table 10. Network Protocol Plugins
Network Plugins | Package | Description |
---|---|---|
udpsink | gst-plugins-good | UDP를 사용해 네트워크에서 데이터 전송 |
multiudpsink | gst-plugins-good | UDP를 사용해 네트워크에서 하나 또는 여러 수신자에게 데이터 전송 |
udpsrc | gst-plugins-good | UDP를 사용해 네트워크에서 데이터 수신 |
tcpserversink | gst-plugins-base | TCP를 사용해 네트워크에서 서버로 데이터 전송 |
tcpclientsrc | gst-plugins-base | TCP를 사용해 네트워크에서 클라이언트로 데이터 수신 |
rtspsrc | gst-plugins-good | RTSP를 사용해 네트워크에서 데이터 수신 |
2.10. Payload/Depayload Plugins (페이로드/디페이로드 플러그인)
payload 플러그인은 네트워크를 통해 데이터를 패킹하는 역할을 한다. 이를 받아서 언패킹하기 위해, depayload 플러그인을 이러한 플러그인과 함께 사용한다.
Table 11. Payload/Depayload Plugins
Pay/Depayload | Package | Description |
---|---|---|
gdppay | gst-plugins-bad | Payload GStreamer 데이터 프로토콜 버퍼 |
gdpdepay | gst-plugins-bad | Depayload GStreamer 데이터 프로토콜 버퍼 |
rtpvrawpay | gst-plugins-good | RTP 패킷으로 로우 비디오 payload |
rtpvrawdepay | gst-plugins-good | RTP 패킷에서 로우 비디오 추출 |
rtph264pay | gst-plugins-good | H264 비디오를 RTP 패킷으로 payload 인코딩 |
rtph264depay | gst-plugins-good | RTP 패킷에서 H264 비디오를 추출 |
rtpmpapay | gst-plugins-good | MPEG 오디오를 RTP 패킷으로 payload |
rtpmpadepay | gst-plugins-good | RTP 패킷에서 MPEG 오디오를 추출 |
rtpjitterbuffer | gst-plugins-good | 네트워크 jitter 및 기타 전송 오류를 처리하는 버퍼 |
'NXP i.MX SoC Family > i.MX 8 GStreamer User Guide' 카테고리의 다른 글
i.MX 8 GStreamer User Guide - Mux/demux Examples (0) | 2022.04.20 |
---|---|
i.MX 8 GStreamer User Guide - Encode Examples (0) | 2022.04.20 |
i.MX 8 GStreamer User Guide - Decode Examples (0) | 2022.04.18 |
i.MX 8 GStreamer User Guide - Introduction (0) | 2022.04.15 |
i.MX 8 GStreamer User Guide (0) | 2022.04.15 |