티스토리 뷰
728x90
출처
GStreamer 기본 패키지 설치
pi@raspberrypi:~$ sudo apt-get install gstreamer1.0-plugins-bad gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-tools libgstreamer1.0-dev libgstreamer1.0-0-dbg libgstreamer1.0-0 libgstreamer-plugins-base1.0-dev gtk-doc-tools
GStreamer Camera Source 설치
소스 다운로드
pi@raspberrypi:~$ git clone https://github.com/thaytan/gst-rpicamsrc.git
pi@raspberrypi:~$ cd gst-rpicamsrc
빌드
pi@raspberrypi:~/gst-rpicamsrc$ ./autogen.sh
pi@raspberrypi:~/gst-rpicamsrc$ make
설치
pi@raspberrypi:~/gst-rpicamsrc$ sudo make install
----------------------------------------------------------------------
Libraries have been installed in:
/usr/lib/arm-linux-gnueabihf/gstreamer-1.0
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the 'LD_RUN_PATH' environment variable
during linking
- use the '-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to '/etc/ld.so.conf'
테스트
pi@raspberrypi:~$ gst-inspect-1.0 | grep rpicamsrc
rpicamsrc: rpicamsrcdeviceprovider (GstDeviceProviderFactory)
rpicamsrc: rpicamsrc: Raspberry Pi Camera Source
GStreamer RTSP Server 설치
소스 다운로드
pi@raspberrypi:~$ git clone git://anongit.freedesktop.org/gstreamer/gst-rtsp-server
pi@raspberrypi:~$ cd gst-rtsp-server
pi@raspberrypi:~/gst-rtsp-server$ git checkout 1.12.5
빌드
pi@raspberrypi:~/gst-rtsp-server$ sudo apt install meson
pi@raspberrypi:~/gst-rtsp-server$ meson buil
The Meson build system
Version: 0.52.1
Source dir: /home/pi/gst-rtsp-server
Build dir: /home/pi/gst-rtsp-server/buil
Build type: native build
Project name: gst-rtsp-server
Project version: 1.12.5
C compiler for the host machine: cc (gcc 8.3.0 "cc (Raspbian 8.3.0-6+rpi1) 8.3.0")
C linker for the host machine: GNU ld.bfd 2.31.1
Host machine cpu family: arm
Host machine cpu: armv7l
Configuring config.h using configuration
Found pkg-config: /usr/bin/pkg-config (0.29)
Run-time dependency glib-2.0 found: YES 2.58.3
Run-time dependency gstreamer-1.0 found: YES 1.14.4
Run-time dependency gstreamer-rtsp-1.0 found: YES 1.14.4
Run-time dependency gstreamer-rtp-1.0 found: YES 1.14.4
Run-time dependency gstreamer-sdp-1.0 found: YES 1.14.4
Run-time dependency gstreamer-app-1.0 found: YES 1.14.4
Run-time dependency gstreamer-net-1.0 found: YES 1.14.4
Program g-ir-scanner found: NO
Found CMake: /usr/bin/cmake (3.13.4)
Run-time dependency libcgroup found: NO (tried pkgconfig and cmake)
Configuring gstreamer-rtsp-server-1.0.pc using configuration
Configuring gstreamer-rtsp-server-1.0-uninstalled.pc using configuration
pkgconfig/meson.build:22: WARNING: The variable(s) 'srcdir' in the input file 'pkgconfig/gstreamer-rtsp-server-uninstalled.pc.in' are not present in the given configuration data.
Build targets in project: 18
Found ninja-1.8.2 at /usr/bin/ninja
설치
pi@raspberrypi:~/gst-rpicamsrc$ sudo make install
----------------------------------------------------------------------
Libraries have been installed in:
/usr/lib/arm-linux-gnueabihf/gstreamer-1.0
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the 'LD_RUN_PATH' environment variable
during linking
- use the '-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to '/etc/ld.so.conf'
pi@raspberrypi:~/gst-rtsp-server$ ./autogen.sh
Configuration
Version : 1.12.5
Source code location : .
Prefix : /usr/local
Compiler : gcc
CGroups example : no
gst-rtsp-server configured. Type 'make' to build.
Now type 'make' to compile gst-rtsp-server.
pi@raspberrypi:~/gst-rtsp-server$ make
GStreamer RTSP Server 설치
pi@raspberrypi:~/gst-rtsp-server$ sudo make install
----------------------------------------------------------------------
Libraries have been installed in:
/usr/local/lib/gstreamer-1.0
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the 'LD_RUN_PATH' environment variable
during linking
- use the '-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to '/etc/ld.so.conf'
-- Installing ./html/GstRTSPAddressPool.html
-- Installing ./html/GstRTSPAuth.html
-- Installing ./html/GstRTSPClient.html
-- Installing ./html/GstRTSPContext.html
-- Installing ./html/GstRTSPMedia.html
-- Installing ./html/GstRTSPMediaFactory.html
-- Installing ./html/GstRTSPMediaFactoryURI.html
-- Installing ./html/GstRTSPMountPoints.html
-- Installing ./html/GstRTSPPermissions.html
-- Installing ./html/GstRTSPServer.html
-- Installing ./html/GstRTSPSession.html
-- Installing ./html/GstRTSPSessionMedia.html
-- Installing ./html/GstRTSPSessionPool.html
-- Installing ./html/GstRTSPStream.html
-- Installing ./html/GstRTSPStreamTransport.html
-- Installing ./html/GstRTSPThreadPool.html
-- Installing ./html/GstRTSPToken.html
-- Installing ./html/annotation-glossary.html
-- Installing ./html/api-index-full.html
-- Installing ./html/ch01.html
-- Installing ./html/gst-rtsp-server-GstRTSPParams.html
-- Installing ./html/gst-rtsp-server-GstRTSPSdp.html
-- Installing ./html/index.html
-- Installing ./html/rtsp-server-hierarchy.html
-- Installing ./html/home.png
-- Installing ./html/left-insensitive.png
-- Installing ./html/left.png
-- Installing ./html/right-insensitive.png
-- Installing ./html/right.png
-- Installing ./html/up-insensitive.png
-- Installing ./html/up.png
-- Installing ./html/style.css
-- Installing ./html/gst-rtsp-server-1.0.devhelp2
RTSP Server 실행
pi@raspberrypi:~/gst-rtsp-server$ cd examples/
pi@raspberrypi:~/gst-rtsp-server/examples$ ./test-launch "( rpicamsrc preview=false bitrate=2000000 keyframe-interval=15 ! video/x-h264, framerate=15/1 ! h264parse ! rtph264pay name=pay0 pt=96 )"
stream ready at rtsp://127.0.0.1:8554/test
재생
Raspberry Pi Camera 정보 조희
pi@raspberrypi:~/gst-rtsp-server$ gst-inspect-1.0 rpicamsrc
Factory Details:
Rank none (0)
Long-name Raspberry Pi Camera Source
Klass Source/Video
Description Raspberry Pi camera module source
Author Jan Schmidt <jan@centricular.com>
Plugin Details:
Name rpicamsrc
Description Raspberry Pi Camera Source
Filename /usr/lib/arm-linux-gnueabihf/gstreamer-1.0/libgstrpicamsrc.so
Version 1.0.0
License LGPL
Source module gstrpicamsrc
Binary package GStreamer
Origin URL http://gstreamer.net/
GObject
+----GInitiallyUnowned
+----GstObject
+----GstElement
+----GstBaseSrc
+----GstPushSrc
+----GstRpiCamSrc
Implemented Interfaces:
GstColorBalance
GstVideoDirection
GstVideoOrientation
Pad Templates:
SRC template: 'src'
Availability: Always
Capabilities:
video/x-h264
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
stream-format: byte-stream
alignment: nal
profile: { (string)constrained-baseline, (string)baseline, (string)main, (string)high }
image/jpeg
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
video/x-raw
format: { (string)I420, (string)RGB, (string)BGR, (string)RGBA }
width: [ 1, 2147483647 ]
height: [ 1, 2147483647 ]
framerate: [ 0/1, 2147483647/1 ]
Element has no clocking capabilities.
Element has no URI handling capabilities.
Pads:
SRC: 'src'
Pad Template: 'src'
Element Properties:
video-direction : Video direction: rotation and flipping
flags: readable, writable, controllable
Enum "GstVideoOrientationMethod" Default: 0, "identity"
(0): identity - GST_VIDEO_ORIENTATION_IDENTITY
(1): 90r - GST_VIDEO_ORIENTATION_90R
(2): 180 - GST_VIDEO_ORIENTATION_180
(3): 90l - GST_VIDEO_ORIENTATION_90L
(4): horiz - GST_VIDEO_ORIENTATION_HORIZ
(5): vert - GST_VIDEO_ORIENTATION_VERT
(6): ul-lr - GST_VIDEO_ORIENTATION_UL_LR
(7): ur-ll - GST_VIDEO_ORIENTATION_UR_LL
(8): auto - GST_VIDEO_ORIENTATION_AUTO
(9): custom - GST_VIDEO_ORIENTATION_CUSTOM
name : The name of the object
flags: readable, writable
String. Default: "rpicamsrc0"
parent : The parent of the object
flags: readable, writable
Object of type "GstObject"
blocksize : Size in bytes to read per buffer (-1 = default)
flags: readable, writable
Unsigned Integer. Range: 0 - 4294967295 Default: 4096
num-buffers : Number of buffers to output before sending EOS (-1 = unlimited)
flags: readable, writable
Integer. Range: -1 - 2147483647 Default: -1
typefind : Run typefind before negotiating (deprecated, non-functional)
flags: readable, writable, deprecated
Boolean. Default: false
do-timestamp : Apply current stream time to buffers
flags: readable, writable
Boolean. Default: true
camera-number : Which camera to use on a multi-camera system - 0 or 1
flags: readable, writable
Integer. Range: 0 - 1 Default: 0
bitrate : Bitrate for encoding. 0 for VBR using quantisation-parameter
flags: readable, writable
Integer. Range: 0 - 25000000 Default: 17000000
keyframe-interval : Interval (in frames) between I frames. -1 = automatic, 0 = single-keyframe
flags: readable, writable
Integer. Range: -1 - 2147483647 Default: -1
preview : Display preview window overlay
flags: readable, writable
Boolean. Default: true
preview-encoded : Display encoder output in the preview
flags: readable, writable
Boolean. Default: true
preview-opacity : Opacity to use for the preview window
flags: readable, writable
Integer. Range: 0 - 255 Default: 255
preview-x : Start X coordinate of the preview window (in pixels)
flags: readable, writable
Integer. Range: 0 - 2048 Default: 0
preview-y : Start Y coordinate of the preview window (in pixels)
flags: readable, writable
Integer. Range: 0 - 2048 Default: 0
preview-w : Width of the preview window (in pixels)
flags: readable, writable
Integer. Range: 0 - 2048 Default: 1024
preview-h : Height of the preview window (in pixels)
flags: readable, writable
Integer. Range: 0 - 2048 Default: 768
fullscreen : Display preview window full screen
flags: readable, writable
Boolean. Default: true
sharpness : Image capture sharpness
flags: readable, writable
Integer. Range: -100 - 100 Default: 0
contrast : Image capture contrast
flags: readable, writable
Integer. Range: -100 - 100 Default: 0
brightness : Image capture brightness
flags: readable, writable
Integer. Range: 0 - 100 Default: 50
saturation : Image capture saturation
flags: readable, writable
Integer. Range: -100 - 100 Default: 0
iso : ISO value to use (0 = Auto)
flags: readable, writable
Integer. Range: 0 - 3200 Default: 0
video-stabilisation : Enable or disable video stabilisation
flags: readable, writable
Boolean. Default: false
exposure-compensation: Exposure Value compensation
flags: readable, writable
Integer. Range: -10 - 10 Default: 0
exposure-mode : Camera exposure mode to use
flags: readable, writable
Enum "GstRpiCamSrcExposureMode" Default: 1, "auto"
(0): off - GST_RPI_CAM_SRC_EXPOSURE_MODE_OFF
(1): auto - GST_RPI_CAM_SRC_EXPOSURE_MODE_AUTO
(2): night - GST_RPI_CAM_SRC_EXPOSURE_MODE_NIGHT
(3): nightpreview - GST_RPI_CAM_SRC_EXPOSURE_MODE_NIGHTPREVIEW
(4): backlight - GST_RPI_CAM_SRC_EXPOSURE_MODE_BACKLIGHT
(5): spotlight - GST_RPI_CAM_SRC_EXPOSURE_MODE_SPOTLIGHT
(6): sports - GST_RPI_CAM_SRC_EXPOSURE_MODE_SPORTS
(7): snow - GST_RPI_CAM_SRC_EXPOSURE_MODE_SNOW
(8): beach - GST_RPI_CAM_SRC_EXPOSURE_MODE_BEACH
(9): verylong - GST_RPI_CAM_SRC_EXPOSURE_MODE_VERYLONG
(10): fixedfps - GST_RPI_CAM_SRC_EXPOSURE_MODE_FIXEDFPS
(11): antishake - GST_RPI_CAM_SRC_EXPOSURE_MODE_ANTISHAKE
(12): fireworks - GST_RPI_CAM_SRC_EXPOSURE_MODE_FIREWORKS
metering-mode : Camera exposure metering mode to use
flags: readable, writable
Enum "GstRpiCamSrcExposureMeteringMode" Default: 0, "average"
(0): average - GST_RPI_CAM_SRC_EXPOSURE_METERING_MODE_AVERAGE
(1): spot - GST_RPI_CAM_SRC_EXPOSURE_METERING_MODE_SPOT
(2): backlist - GST_RPI_CAM_SRC_EXPOSURE_METERING_MODE_BACKLIST
(3): matrix - GST_RPI_CAM_SRC_EXPOSURE_METERING_MODE_MATRIX
awb-mode : White Balance mode
flags: readable, writable
Enum "GstRpiCamSrcAWBMode" Default: 1, "auto"
(0): off - GST_RPI_CAM_SRC_AWB_MODE_OFF
(1): auto - GST_RPI_CAM_SRC_AWB_MODE_AUTO
(2): sunlight - GST_RPI_CAM_SRC_AWB_MODE_SUNLIGHT
(3): cloudy - GST_RPI_CAM_SRC_AWB_MODE_CLOUDY
(4): shade - GST_RPI_CAM_SRC_AWB_MODE_SHADE
(5): tungsten - GST_RPI_CAM_SRC_AWB_MODE_TUNGSTEN
(6): fluorescent - GST_RPI_CAM_SRC_AWB_MODE_FLUORESCENT
(7): incandescent - GST_RPI_CAM_SRC_AWB_MODE_INCANDESCENT
(8): flash - GST_RPI_CAM_SRC_AWB_MODE_FLASH
(9): horizon - GST_RPI_CAM_SRC_AWB_MODE_HORIZON
awb-gain-red : Manual AWB Gain for red channel when awb-mode=off
flags: readable, writable
Float. Range: 0 - 8 Default: 0
awb-gain-blue : Manual AWB Gain for blue channel when awb-mode=off
flags: readable, writable
Float. Range: 0 - 8 Default: 0
image-effect : Visual FX to apply to the image
flags: readable, writable
Enum "GstRpiCamSrcImageEffect" Default: 0, "none"
(0): none - GST_RPI_CAM_SRC_IMAGEFX_NONE
(1): negative - GST_RPI_CAM_SRC_IMAGEFX_NEGATIVE
(2): solarize - GST_RPI_CAM_SRC_IMAGEFX_SOLARIZE
(3): posterize - GST_RPI_CAM_SRC_IMAGEFX_POSTERIZE
(4): whiteboard - GST_RPI_CAM_SRC_IMAGEFX_WHITEBOARD
(5): blackboard - GST_RPI_CAM_SRC_IMAGEFX_BLACKBOARD
(6): sketch - GST_RPI_CAM_SRC_IMAGEFX_SKETCH
(7): denoise - GST_RPI_CAM_SRC_IMAGEFX_DENOISE
(8): emboss - GST_RPI_CAM_SRC_IMAGEFX_EMBOSS
(9): oilpaint - GST_RPI_CAM_SRC_IMAGEFX_OILPAINT
(10): hatch - GST_RPI_CAM_SRC_IMAGEFX_HATCH
(11): gpen - GST_RPI_CAM_SRC_IMAGEFX_GPEN
(12): pastel - GST_RPI_CAM_SRC_IMAGEFX_PASTEL
(13): watercolour - GST_RPI_CAM_SRC_IMAGEFX_WATERCOLOUR
(14): film - GST_RPI_CAM_SRC_IMAGEFX_FILM
(15): blur - GST_RPI_CAM_SRC_IMAGEFX_BLUR
(16): saturation - GST_RPI_CAM_SRC_IMAGEFX_SATURATION
(17): colourswap - GST_RPI_CAM_SRC_IMAGEFX_COLOURSWAP
(18): washedout - GST_RPI_CAM_SRC_IMAGEFX_WASHEDOUT
(19): posterise - GST_RPI_CAM_SRC_IMAGEFX_POSTERISE
(20): colourpoint - GST_RPI_CAM_SRC_IMAGEFX_COLOURPOINT
(21): colourbalance - GST_RPI_CAM_SRC_IMAGEFX_COLOURBALANCE
(22): cartoon - GST_RPI_CAM_SRC_IMAGEFX_CARTOON
rotation : Rotate captured image (0, 90, 180, 270 degrees)
flags: readable, writable
Integer. Range: 0 - 270 Default: 0
hflip : Flip capture horizontally
flags: readable, writable
Boolean. Default: false
vflip : Flip capture vertically
flags: readable, writable
Boolean. Default: false
roi-x : Normalised region-of-interest X coord
flags: readable, writable
Float. Range: 0 - 1 Default: 0
roi-y : Normalised region-of-interest Y coord
flags: readable, writable
Float. Range: 0 - 1 Default: 0
roi-w : Normalised region-of-interest W coord
flags: readable, writable
Float. Range: 0 - 1 Default: 1
roi-h : Normalised region-of-interest H coord
flags: readable, writable
Float. Range: 0 - 1 Default: 1
quantisation-parameter: Set a Quantisation Parameter approx 10-40 with bitrate=0 for VBR encoding. 0 = off
flags: readable, writable
Integer. Range: 0 - 2147483647 Default: 0
inline-headers : Set to TRUE to insert SPS/PPS before each IDR packet
flags: readable, writable
Boolean. Default: false
shutter-speed : Set a fixed shutter speed, in microseconds. (0 = Auto)
flags: readable, writable
Integer. Range: 0 - 6000000 Default: 0
sensor-mode : Manually set the camera sensor mode
flags: readable, writable
Enum "GstRpiCamSrcSensorMode" Default: 0, "automatic"
(0): automatic - Automatic
(1): 1920x1080 - 1920x1080 16:9 1-30fps
(2): 2592x1944-fast - 2592x1944 4:3 1-15fps / 3240x2464 15fps w/ v.2 board
(3): 2592x1944-slow - 2592x1944 4:3 0.1666-1fps / 3240x2464 15fps w/ v.2 board
(4): 1296x972 - 1296x972 4:3 1-42fps
(5): 1296x730 - 1296x730 16:9 1-49fps
(6): 640x480-slow - 640x480 4:3 42.1-60fps
(7): 640x480-fast - 640x480 4:3 60.1-90fps
drc : Dynamic Range Control level
flags: readable, writable
Enum "GstRpiCamSrcDRCLevel" Default: 0, "off"
(0): off - GST_RPI_CAM_SRC_DRC_LEVEL_OFF
(1): low - GST_RPI_CAM_SRC_DRC_LEVEL_LOW
(2): medium - GST_RPI_CAM_SRC_DRC_LEVEL_MEDIUM
(3): high - GST_RPI_CAM_SRC_DRC_LEVEL_HIGH
annotation-mode : Flags to control annotation of the output video
flags: readable, writable
Flags "GstRpiCamSrcAnnotationMode" Default: 0x00000000, "(none)"
(0x00000001): custom-text - GST_RPI_CAM_SRC_ANNOTATION_MODE_CUSTOM_TEXT
(0x00000002): text - GST_RPI_CAM_SRC_ANNOTATION_MODE_TEXT
(0x00000004): date - GST_RPI_CAM_SRC_ANNOTATION_MODE_DATE
(0x00000008): time - GST_RPI_CAM_SRC_ANNOTATION_MODE_TIME
(0x00000010): shutter-settings - GST_RPI_CAM_SRC_ANNOTATION_MODE_SHUTTER_SETTINGS
(0x00000020): caf-settings - GST_RPI_CAM_SRC_ANNOTATION_MODE_CAF_SETTINGS
(0x00000040): gain-settings - GST_RPI_CAM_SRC_ANNOTATION_MODE_GAIN_SETTINGS
(0x00000080): lens-settings - GST_RPI_CAM_SRC_ANNOTATION_MODE_LENS_SETTINGS
(0x00000100): motion-settings - GST_RPI_CAM_SRC_ANNOTATION_MODE_MOTION_SETTINGS
(0x00000200): frame-number - GST_RPI_CAM_SRC_ANNOTATION_MODE_FRAME_NUMBER
(0x00000400): black-background - GST_RPI_CAM_SRC_ANNOTATION_MODE_BLACK_BACKGROUND
annotation-text : Text string to annotate onto video when annotation-mode flags include 'custom-text'
flags: readable, writable
String. Default: ""
annotation-text-size: Set the size of annotation text (in pixels) (0 = Auto)
flags: readable, writable
Integer. Range: 0 - 2147483647 Default: 0
annotation-text-colour: Set the annotation text colour, as the integer corresponding to a VUY value eg 0x8080FF = 8421631, -1 for default
flags: readable, writable
Integer. Range: -1 - 2147483647 Default: -1
annotation-text-bg-colour: Set the annotation text background colour, as the integer corresponding to a VUY value eg 0x8080FF = 8421631, -1 for default
flags: readable, writable
Integer. Range: -1 - 2147483647 Default: -1
intra-refresh-type : Type of Intra Refresh to use, -1 to disable intra refresh
flags: readable, writable
Enum "GstRpiCamSrcIntraRefreshType" Default: -1, "none"
(-1): none - GST_RPI_CAM_SRC_INTRA_REFRESH_TYPE_NONE
(0): cyclic - GST_RPI_CAM_SRC_INTRA_REFRESH_TYPE_CYCLIC
(1): adaptive - GST_RPI_CAM_SRC_INTRA_REFRESH_TYPE_ADAPTIVE
(2): both - GST_RPI_CAM_SRC_INTRA_REFRESH_TYPE_BOTH
(2130706433): cyclic-rows - GST_RPI_CAM_SRC_INTRA_REFRESH_TYPE_CYCLIC_ROWS
use-stc : Use the camera STC for timestamping buffers
flags: readable, writable
Boolean. Default: true
댓글
300x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 튜닝쇼 2008
- Delphi Tip
- Delphi
- Java
- oracle
- koba2010
- ble
- Spring
- 전예희
- ffmpeg
- 일본여행
- Mac
- KOBA
- NDK
- 지스타2007
- SAS
- Linux
- MySQL
- ubuntu
- sas2009
- Spring MVC
- JavaScript
- 서울오토살롱
- Xcode
- android
- 동경
- flex
- BPI-M4
- 송주경
- 레이싱모델 익스트림 포토 페스티벌
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함