우여곡절끝에 VLC를 컴파일 해서 samr / H.263 코덱으로 접속을 해도 에러는 나지 않도록 했는데..
RTSP 10초 timeout으로 플레이 까지는 하지 못한다.
도대체 VLC로 유튜브 플레이한 사람은.. 용자인가 -ㅁ-?
./configure --help
Input plugins:
--with-live555-tree=PATH live.com tree for static linking
--with-dv-raw1394=PATH libraw1394 headers and libraries
--with-dv-raw1394=PATH libraw1394 tree for static linking
--with-dv-avc1394=PATH libavc1394 headers and libraries
--with-dv-avc1394=PATH libavc1394 tree for static linking
--with-dvdread=PATH libdvdread headers and libraries
--with-dvdread-tree=PATH libdvdread tree for static linking
--with-dvdnav-config-path=PATH dvdnav-config path (default search in \$PATH)
--with-opencv-tree=PATH opencv tree for linking
--with-dvbpsi=PATH libdvbpsi headers and libraries
--with-dvbpsi-tree=PATH libdvbpsi tree for static linking
--with-v4l=PATH path to a v4l-enabled kernel tree
--with-v4l2=PATH path to a v4l2-enabled kernel tree
--with-videodev2=FILE Location of videodev2.h file (default /usr/include/linux/videodev2.h)
--with-dvb=PATH path to a dvb- and v4l2-enabled kernel tree
--with-ogg-tree=PATH ogg tree for static linking
--with-mod-tree=PATH mod tree for static linking
--with-gme-tree=PATH gme tree for static linking
Codec plugins:
--with-mad=PATH path to libmad
--with-mad-tree=PATH mad tree for static linking
--with-faad-tree=PATH faad tree for static linking
--with-twolame-tree=PATH twolame tree for static linking
--with-a52=PATH a52 headers and libraries
--with-a52-tree=PATH a52dec tree for static linking
--with-a52-fixed specify if liba52 has been compiled with fixed point support
--with-dca-tree=PATH libdca tree for static linking
--with-flac-tree=PATH flac tree for static linking
--with-libmpeg2-tree=PATH libmpeg2 tree for static linking
--with-vorbis-tree=PATH vorbis tree for static linking
--with-speex-tree=PATH speex tree for static linking
--with-tarkin-tree=PATH tarkin tree for static linking --with-x264-tree=PATH x264 tree for static linking
Video plugins:
--with-x use the X Window System
--with-sdl-config-path=PATH sdl-config path (default search in \$PATH)
--with-sdl-prefix=PATH path to libsdl (needed for cross-compiling),
e.g use as:
--with-sdl-prefix=/usr/local/arm/2.95.3/arm-linux/usr)
--with-qte=PATH Qt Embedded headers and libraries
--with-directx=PATH Win32 DirectX headers
--with-directfb=PATH path to DirectFB headers and libraries
--with-ggi=PATH path to libggi
--with-caca-config-path=PATH caca-config path (default search in \$PATH)
vlc의 트리구조는 다음과 같은데
vlc-1.0.4
|-- autotools
|-- bin
|-- compat
|-- doc
|-- extras
|-- include
|-- libs
|-- m4
|-- modules
|-- po
|-- projects
|-- share
|-- src
`-- test
vlc/extras 에 plugin들을 다운로드 한 다음
./configure --with-x264=tree=./extras/x264
이런식으로 설정해주면 하위까지 같이 컴파일하게 된다.
문제는, samr은 이전에 설정해 준, opencore-amr 쪽에서 알아서 samr 코덱이 들어간듯.
이건 어떻게 분리해서 넣어야 하나..
아무튼, youtube + RTSP로 검색하다보니, xHTML이 빠져서 그런거 같은 느낌이 강하게 든다..
도대체 이넘은 또 어떻게 산을 넘어가야 하나?
YouTube launched its mobile site, YouTube Mobile on 15 June 2007. It is based on xHTML and uses 3GP videos with H263/AMR codec and RTSP streaming. It is available via a web interface at m.youtube.com or via YouTube's Mobile Java Application.
내가 사용하는 카드는 Geforce2 MX, 드라이버는 96.43.13 이다.
아무튼 IgnoreEDID는 아래와 같은 오류가 난다.
$ vi /var/log/Xorg.0.log
202 (**) NVIDIA(0): Option "IgnoreEDID" "True"
203 (**) NVIDIA(0): Option "AddARGBGLXVisuals" "True"
204 (**) NVIDIA(0): Enabling RENDER acceleration
205 (WW) NVIDIA(0):
206 (WW) NVIDIA(0): The IgnoreEDID and NoDDC options have been deprecated. The
207 (WW) NVIDIA(0): NVIDIA X driver makes use of a display device's EDID
208 (WW) NVIDIA(0): during construction of its modePool. It is recommended
209 (WW) NVIDIA(0): that you allow the X driver to make use of any available
210 (WW) NVIDIA(0): EDID. If, however, you know what you are doing and have
211 (WW) NVIDIA(0): good reason to do so, you can disable the X driver's use
212 (WW) NVIDIA(0): of EDIDs by setting the "UseEDID" X configuration option
213 (WW) NVIDIA(0): to FALSE; e.g.,
214 (WW) NVIDIA(0):
215 (WW) NVIDIA(0): Option "UseEDID" "FALSE"
216 (WW) NVIDIA(0):
217 (WW) NVIDIA(0): Note that, rather than globally disable all uses of the EDID,
218 (WW) NVIDIA(0): you can individually disable each particular use of the
219 (WW) NVIDIA(0): EDID; e.g.,
220 (WW) NVIDIA(0):
221 (WW) NVIDIA(0): Option "UseEDIDFreqs" "FALSE"
222 (WW) NVIDIA(0): Option "UseEDIDDpi" "FALSE"
223 (WW) NVIDIA(0): Option "ModeValidation" "NoEdidModes"
224 (WW) NVIDIA(0):
225 (WW) NVIDIA(0): See Appendix D: X Config Options in the README for details on
226 (WW) NVIDIA(0): each of these options.
간단하게 말하자면, IgnoreEDID 대신에 UseEDID를 쓰라는 이야기이다.
아무튼, 이런식의 오류가 나면서 640x480으로 강제 설정된다.
209 (II) NVIDIA(0): NVIDIA GPU GeForce2 MX 100/200 at PCI:1:0:0 (GPU-0)
210 (--) NVIDIA(0): Memory: 32768 kBytes
211 (--) NVIDIA(0): VideoBIOS: 03.11.01.26.31
212 (II) NVIDIA(0): Detected AGP rate: 4X
213 (--) NVIDIA(0): Interlaced video modes are not supported on this GPU
214 (--) NVIDIA(0): Connected display device(s) on GeForce2 MX 100/200 at
215 (--) NVIDIA(0): PCI:1:0:0:
216 (--) NVIDIA(0): CRT-0
217 (--) NVIDIA(0): CRT-0: 350.0 MHz maximum pixel clock
218 (II) NVIDIA(0): Assigned Display Device: CRT-0
219 (WW) NVIDIA(0): No valid modes for "1024x768"; removing.
220 (WW) NVIDIA(0): No valid modes for "800x600"; removing.
221 (II) NVIDIA(0): Validated modes:
222 (II) NVIDIA(0): "640x480"
223 (II) NVIDIA(0): Virtual screen size determined to be 640 x 480
224 (WW) NVIDIA(0): Unable to get display device CRT-0's EDID; cannot compute DPI
225 (WW) NVIDIA(0): from CRT-0's EDID.
226 (==) NVIDIA(0): DPI set to (75, 75); computed from built-in default
640x480 에서 처참하게 잘린 X Server Setting (드라이버 버전 96.43.13)
해결방법 : 나의 경우에는 어처구니 없게도.. 모니터 케이블 교체하니 EDID를 제대로 받아왔다.
케이블이 회사에 없어서 20m 짜리 케이블을 사용했는데 커넥터 하나가 비어있었다.
아무튼 이녀석이야 Green GND 쪽이라 상관은 없겠지만.. 아무튼 케이블 문제라니 ㄱ-
(아래 기준으로 7번 핀이 빠져있었지만, 상관없어 보이고, 아마 단가를 낮추기 위해서
가장 아래쪽에 13,14번 핀을 제외한 나머지 핀이 연결되어 있지 않았었나보다)