프로그램 사용/VLC2010. 7. 3. 14:06
오랫만에 vlc 받으러 갔더니 새버전이 나왔다. (안녕 흰 거대 토끼~)



은근 매력적인 주황색 꼬깔 ㅋㅋ
빨간색이면 웬지 아스팔트 깔아야 할꺼 같았는데 다행이야?!
Posted by 구차니
프로그램 사용/VLC2010. 4. 22. 11:06
http://192.168.10.94:8080/?control=pause

현재 사용중인 PC의 ip가 192.168.10.94 이고, VLC 에서 웹 인터페이스를 켜놨을 경우
위와 같이 URL을 입력하면 플레이 중인 동영상이 일시정지 된다.
pause는 토글 방식으로, 한번 보내면 멈추고, 다시 보내면 재생된다.

위는 dreambox에서 PC의 VLC로 원격명령을 날리는 부분을, wireshark로 캡쳐한 화면

2010/04/21 - [프로그램 사용/VLC] - VLC를 웹 쿼리로 제어하기 - VLC web control

'프로그램 사용 > VLC' 카테고리의 다른 글

VLC - V4L2 modules  (0) 2010.07.03
VLC 1.1.0 Luggage  (0) 2010.07.03
VLC를 웹 쿼리로 제어하기 - VLC web control  (0) 2010.04.21
x264 와 h264의 관계?  (0) 2010.04.15
VLC nightly build  (0) 2010.04.13
Posted by 구차니
프로그램 사용/VLC2010. 4. 21. 15:08
VLC 에는 web interface 라는 넘이 있는데,
이녀석을 원격지에서 http query를 통해 제어가 가능하다.

윈도우에서 기본설치시
C:\Program Files\VideoLAN\VLC\http\requests 경로에 존재하는 파일을 읽어보면 될 듯 하다.

웹에서 접속시에는
http://localhost:8080/requests/filename.xml?query
식으로 하면된다.

아래는 readme.txt 파일
$Id$

This file describes commands available through the requests/ file:

Lines starting with < describe what the page sends back
Lines starting with > describe what you can send to the page

All parameters need to be URL encoded.
Examples:
 # -> %23
 % -> %25
 + -> %2B
 space -> +
 ...

status.xml:
===========
< Get VLC status information, current item info and meta.

> add <mrl> to playlist and start playback:
  ?command=in_play&input=<mrl>

> add <mrl> to playlist:
  ?command=in_enqueue&input=<mrl>

> play playlist item <id>:
  ?command=pl_play&id=<id>

> toggle pause. If current state was 'stop', play item <id>:
  ?command=pl_pause&id=<id>

> stop playback:
  ?command=pl_stop

> jump to next item:
  ?command=pl_next

> jump to previous item:
  ?command=pl_previous

> delete item <id> from playlist:
  ?command=pl_delete&id=<id>

> empty playlist:
  ?command=pl_empty

> sort playlist using sort mode <val> and order <id>:
  ?command=pl_sort&id=<id>&val=<val>
  If id=0 then items will be sorted in normal order, if id=1 they will be
  sorted in reverse order
  A non exhaustive list of sort modes:
    0 Id
    1 Name
    3 Author
    5 Random
    7 Track number

> toggle random playback:
  ?command=pl_random

> toggle loop:
  ?command=pl_loop

> toggle repeat:
  ?command=pl_repeat

> toggle enable service discovery module <val>:
  ?command=pl_sd&val=<val>
  Typical values are:
    sap
    shoutcast
    podcast
    hal

> toggle fullscreen:
  ?command=fullscreen

> set volume level to <val> (can be absolute integer, percent or +/- relative value):
  ?command=volume&val=<val>
  Allowed values are of the form:
    +<int>, -<int>, <int> or <int>%

> seek to <val>:
  ?command=seek&val=<val>
  Allowed values are of the form:
    [+ or -][<int><H or h>:][<int><M or m or '>:][<int><nothing or S or s or ">]
    or [+ or -]<int>%
    (value between [ ] are optional, value between < > are mandatory)
  examples:
    1000 -> seek to the 1000th second
    +1H:2M -> seek 1 hour and 2 minutes forward
    -10% -> seek 10% back

playlist.xml:
=============
< get the full playlist tree

browse.xml:
===========
< ?dir=<dir>
> get <dir>'s filelist

vlm.xml:
========
< get the full list of VLM elements

vlm_cmd.xml:
============
< execute VLM command <cmd>
  ?command=<cmd>
> get the error message from <cmd>



[링크 : http://forum.videolan.org/viewtopic.php?f=16&t=45842]

2009/12/08 - [프로그램 사용/VLC] - VLC 웹 인터페이스 원격지에서 안될경우
2009/11/24 - [프로그램 사용/VLC] - VLC web interface(웹 인터페이스)
Posted by 구차니
프로그램 사용/VLC2010. 4. 15. 22:47
x264 is a free library for encoding H264/AVC video streams.

중요한건 videolan.org 의 x264 개발자 페이지의 첫 줄에 나와있다.
library for encoding
H.264는 Encoding / Decoding 으로 보이고.
X.264는 opensource GPL Encoding으로 보인다.
간단하게 H.264의 반쪽 버전이라고 해야하려나?

H.264는
MPEG-4 part 10
AVC(Advanced Video Codec)

H.263은(3gpp / 영상통화)
MPEG-2
MPEG-4 Part 2

[링크 : http://www.videolan.org/developers/x264.html]
[링크 : http://en.wikipedia.org/wiki/X264]
[링크 : http://ko.wikipedia.org/wiki/X264]

[링크 : http://ko.wikipedia.org/wiki/H.264]
[링크 : http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC]

http://en.wikipedia.org/wiki/H.263

Posted by 구차니
프로그램 사용/VLC2010. 4. 13. 13:55
매일매일 빌드하는 버전으로, 일종의 개발버전 릴리즈이다.

[링크 : http://nightlies.videolan.org/]
Posted by 구차니
프로그램 사용/VLC2010. 3. 17. 14:38
build server는 Fedora Core6를 쓰고  glibc2.5를 사용한다.
그리고 target 역시 glibc2.5를 사용한다.


그런데.. vlc-1.0.5는 glibc2.5-2.8은 thread-safe 하지 않다고 거부한다 ㄱ-

아래와 같은 에러가 발생하는데
libtool: link: warning: library `/opt/STM/STLinux-2.2/devkit/sh4/target/usr/lib/libdbus-1.la' was moved.
...
../src/.libs/libvlc.so: undefined reference to `__vasprintf_chk'
../src/.libs/libvlc.so: undefined reference to `__asprintf_chk'
collect2: ld returned 1 exit status
내가 사용하는 타켓의 경로도 아니고.
묘한 곳에서 묘한 녀석을 링킹하면서 에러를 발생한다.

간단한 해결책이라고 생각했던 녀석으로
위의 la 파일의 libdir 변수를 수정해도 libtool: link: warning 하나만 사라질뿐 여전히 컴파일은 되지 않는다.
# libdbus-1.la - a libtool library file
# Generated by ltmain.sh - GNU libtool 1.5.10 (1.1220.2.130 2004/09/19 12:13:49)
#
# Please DO NOT delete this file!
# It is necessary for linking the library.

# The name that we can dlopen(3).
dlname='libdbus-1.so.2'

# Names of this library.
library_names='libdbus-1.so.2.0.0 libdbus-1.so.2 libdbus-1.so'

# The name of the static archive.
old_library='libdbus-1.a'

# Libraries that this one depends upon.
dependency_libs='-lnsl'

# Version information for libdbus-1.
current=2
age=0
revision=0

# Is this an already installed library?
installed=yes

# Should we warn about portability when linking against -modules?
shouldnotlink=no

# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''

# Directory that this library needs to be installed in:
libdir='/usr/lib'

그리고 지뢰밭을 피하는 방법으로 자주 검색되던 아래의 글역시
결과적으로 모든 la 파일의 내용을 변경해주어야 하는 번거로움이 생긴다.

[링크 : http://www.metastatic.org/text/libtool.html]

그런데, 저 wasprintf 가 머하는 녀석인가 검색을 해봤더니
glibc2.8에서 지원하는 함수라고 한다. 현재 사용하는건 2.5 버전이니 당연히 저런 함수가 존재할리 없고
그런 이유로 glibc를 업그레이드 하기 전에는 딱히 방법이 없어 보인다.

[링크 : http://infomaru.com/?mid=os_linux_basic&listStyle=gallery&document_srl=6197]

'프로그램 사용 > VLC' 카테고리의 다른 글

x264 와 h264의 관계?  (0) 2010.04.15
VLC nightly build  (0) 2010.04.13
VLC GLIBC runtime error  (0) 2010.03.16
VLC 1.0.5 컴파일시 magic.h 오류  (0) 2010.03.10
x264 , libavcodec 다운로드  (0) 2010.02.24
Posted by 구차니
프로그램 사용/VLC2010. 3. 16. 15:53
glibc 2.5 에서 2.7 사이의 gettext()는 쓰레드에 안전하기 않기 때문에
VLC에서 상기버전의 glibc를 사용하고 있다면 실행시에 에러를 발생하고 실행을 하지 않는다.

vlc-1.0.5/src/misc/linux_specific.c 파일의 75라인부터 아래의 내용이 존재한다.
#ifdef __GLIBC__
# include 
# include 
#endif

void system_Init (libvlc_int_t *libvlc, int *argc, const char *argv[])
{
#ifdef __GLIBC__
    const char *glcv = gnu_get_libc_version ();

    /* gettext in glibc 2.5-2.7 is not thread-safe. LibVLC keeps crashing,
     * especially in sterror_r(). Even if we have NLS disabled, the calling
     * process might have called setlocale(). */
    if (strverscmp (glcv, "2.5") >= 0 && strverscmp (glcv, "2.8") < 0)
    {
        fputs ("LibVLC has detected an unusable buggy GNU/libc version.\n"
               "Please update to version 2.8 or newer.\n", stderr);
        fflush (stderr);
#ifndef DISABLE_BUGGY_GLIBC_CHECK
        abort ();
#endif
    }
#endif

그리고 vlc-1.0.5/configure.ac 의 532 라인에는 다음과 같은 내용이 존재한다.
dnl
dnl Buggy glibc prevention. Purposedly not cached.
dnl Ubuntu alone has 20 bug numbers for this...
dnl
AC_MSG_CHECKING(for buggy GNU/libc versions)
AC_PREPROC_IFELSE([
#include <limits.h>
#if defined (__GLIBC__) && (__GLIBC__ == 2) \
  && (__GLIBC_MINOR__ >= 5) && (__GLIBC_MINOR__ <= 7)
# error GNU/libc with dcgettext killer bug!
#endif
], [
  AC_MSG_RESULT([not present])
], [
  AC_MSG_RESULT([found])
  AS_IF([test "x${enable_nls}" != "xno" || test "x${enable_mozilla}" != "xno"], [
    AC_MSG_ERROR([Buggy GNU/libc (version 2.5 - 2.7) present. VLC would crash; there is no viable
work-around for this. Check with your distribution vendor on how to update the
glibc run-time. Alternatively, build with --disable-nls --disable-mozilla and
be sure to not use LibVLC from other applications/wrappers.])
  ], [
    AC_DEFINE(DISABLE_BUGGY_GLIBC_CHECK, 1, [Disables runtime check for buggy glibc.])
  ])
])

위의 abort(); 를 주석처리 하거나
DISABLE_BUGGY_CLIBC_CHECK를 미리 선언하거나 하면 될꺼 같은데 어떻게 해야 하려나?
(아무튼 abort(); 를 주석처리 하면 실행은 된다.)

'프로그램 사용 > VLC' 카테고리의 다른 글

VLC nightly build  (0) 2010.04.13
VLC 크로스컴파일 - 멀고도 험하다 ㅠ.ㅠ  (0) 2010.03.17
VLC 1.0.5 컴파일시 magic.h 오류  (0) 2010.03.10
x264 , libavcodec 다운로드  (0) 2010.02.24
vlc-1.0.5 cross compile  (3) 2010.02.09
Posted by 구차니
프로그램 사용/VLC2010. 3. 10. 16:28
컴파일 하다보니 요런 에러를 뱉어 주신다.
혹시나 해서 모든 헤더파일을 검색해서 아래와 같은 정의는 Fedora Core 6에도 존재하지 않는다.
도대체.. FC6에서는 VLC도 설치 못하는건가?

아무튼, 아래의 *_SUPER_MAGIC 선언을 포함한 헤더는
/usr/include/linux/magic.h 에 존재해야 하며
/usr/include/magic.h 를 링크한다고 해서 되진않는다.

#ifndef __LINUX_MAGIC_H__
#define __LINUX_MAGIC_H__

#define ADFS_SUPER_MAGIC        0xadf5
#define AFFS_SUPER_MAGIC        0xadff
#define AFS_SUPER_MAGIC                0x5346414F
#define AUTOFS_SUPER_MAGIC      0x0187
#define CODA_SUPER_MAGIC        0x73757245
#define CRAMFS_MAGIC            0x28cd3d45      /* some random number */
#define CRAMFS_MAGIC_WEND       0x453dcd28      /* magic number with the wrong endianess */
#define DEBUGFS_MAGIC          0x64626720
#define SYSFS_MAGIC             0x62656572
#define SECURITYFS_MAGIC        0x73636673
#define SELINUX_MAGIC           0xf97cff8c
#define RAMFS_MAGIC             0x858458f6      /* some random number */
#define TMPFS_MAGIC             0x01021994
#define HUGETLBFS_MAGIC         0x958458f6      /* some random number */
#define SQUASHFS_MAGIC          0x73717368
#define EFS_SUPER_MAGIC         0x414A53
#define EXT2_SUPER_MAGIC        0xEF53
#define EXT3_SUPER_MAGIC        0xEF53
#define XENFS_SUPER_MAGIC       0xabba1974
#define EXT4_SUPER_MAGIC        0xEF53
#define BTRFS_SUPER_MAGIC       0x9123683E
#define HPFS_SUPER_MAGIC        0xf995e849
#define ISOFS_SUPER_MAGIC       0x9660
#define JFFS2_SUPER_MAGIC       0x72b6
#define ANON_INODE_FS_MAGIC     0x09041934

#define MINIX_SUPER_MAGIC       0x137F          /* original minix fs */
#define MINIX_SUPER_MAGIC2      0x138F          /* minix fs, 30 char names */
#define MINIX2_SUPER_MAGIC      0x2468          /* minix V2 fs */
#define MINIX2_SUPER_MAGIC2     0x2478          /* minix V2 fs, 30 char names */
#define MINIX3_SUPER_MAGIC      0x4d5a          /* minix V3 fs */

#define MSDOS_SUPER_MAGIC       0x4d44          /* MD */
#define NCP_SUPER_MAGIC         0x564c          /* Guess, what 0x564c is :-) */
#define NFS_SUPER_MAGIC         0x6969
#define OPENPROM_SUPER_MAGIC    0x9fa1
#define PROC_SUPER_MAGIC        0x9fa0
#define QNX4_SUPER_MAGIC        0x002f          /* qnx4 fs detection */

#define REISERFS_SUPER_MAGIC    0x52654973      /* used by gcc */
                                        /* used by file system utilities that
                                           look at the superblock, etc.  */
#define REISERFS_SUPER_MAGIC_STRING     "ReIsErFs"
#define REISER2FS_SUPER_MAGIC_STRING    "ReIsEr2Fs"
#define REISER2FS_JR_SUPER_MAGIC_STRING "ReIsEr3Fs"

#define SMB_SUPER_MAGIC         0x517B
#define USBDEVICE_SUPER_MAGIC   0x9fa2
#define CGROUP_SUPER_MAGIC      0x27e0eb

#define FUTEXFS_SUPER_MAGIC     0xBAD1DEA

#define STACK_END_MAGIC         0x57AC6E9D

#define DEVPTS_SUPER_MAGIC      0x1cd1
#define SOCKFS_MAGIC            0x534F434B

#endif /* __LINUX_MAGIC_H__ */


[링크 : http://tomoyo.sourceforge.jp/cgi-bin/lxr/source/include/linux/magic.h]

libtool: compile:  gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../.. -I../../include -I../../include -DSYS_LINUX -I/usr/local/include -D_FI
LE_OFFSET_BITS=64 -D__USE_UNIX98 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -D__LIBVLC__ -D__PLUGIN__ -DMODULE_NAME=access_fi
le -DMODULE_NAME_IS_access_file -DMODULE_STRING=\"access_file\" -O2 -ffast-math -funroll-loops -fomit-frame-pointer -Wall -Wextra -W
sign-compare -Wundef -Wpointer-arith -Wbad-function-cast -Wcast-align -Wwrite-strings -Wmissing-prototypes -Wvolatile-register-var -
Werror-implicit-function-declaration -MT libaccess_file_plugin_la-file.lo -MD -MP -MF .deps/libaccess_file_plugin_la-file.Tpo -c fil
e.c  -fPIC -DPIC -o .libs/libaccess_file_plugin_la-file.o
In file included from ../../include/vlc_common.h:516,
                 from file.c:33:
../../include/vlc_mtime.h:80: warning: 'error' attribute directive ignored
../../include/vlc_mtime.h:90: warning: 'warning' attribute directive ignored
../../include/vlc_mtime.h:108: warning: 'error' attribute directive ignored
file.c: In function 'IsRemote':
file.c:142: error: 'AFS_SUPER_MAGIC' undeclared (first use in this function)
file.c:142: error: (Each undeclared identifier is reported only once
file.c:142: error: for each function it appears in.)
file.c:143: error: 'CODA_SUPER_MAGIC' undeclared (first use in this function)
file.c:144: error: 'NCP_SUPER_MAGIC' undeclared (first use in this function)
file.c:145: error: 'NFS_SUPER_MAGIC' undeclared (first use in this function)
file.c:146: error: 'SMB_SUPER_MAGIC' undeclared (first use in this function)


'프로그램 사용 > VLC' 카테고리의 다른 글

VLC 크로스컴파일 - 멀고도 험하다 ㅠ.ㅠ  (0) 2010.03.17
VLC GLIBC runtime error  (0) 2010.03.16
x264 , libavcodec 다운로드  (0) 2010.02.24
vlc-1.0.5 cross compile  (3) 2010.02.09
VLC cross compile시 오류 (vlc-1.0.4)  (0) 2010.02.03
Posted by 구차니
프로그램 사용/VLC2010. 2. 24. 18:32
libavcodec은 ffmpeg에 포함되어 있다. (= ffmpeg을 받아서 설치)

svn checkout svn://svn.ffmpeg.org/ffmpeg/trunk ffmpeg
[링크 : http://ffmpeg.org/download.html]

git clone git://git.videolan.org/x264.git
[링크 : http://www.videolan.org/developers/x264.html]

'프로그램 사용 > VLC' 카테고리의 다른 글

VLC GLIBC runtime error  (0) 2010.03.16
VLC 1.0.5 컴파일시 magic.h 오류  (0) 2010.03.10
vlc-1.0.5 cross compile  (3) 2010.02.09
VLC cross compile시 오류 (vlc-1.0.4)  (0) 2010.02.03
VLC 1.0.4 cross compile + busybox  (0) 2010.02.02
Posted by 구차니
프로그램 사용/VLC2010. 2. 9. 16:26
크로스컴파일
./configure --disable-mmx --disable-sse --enable-run-as-root --with-tuning=no --host=sh4-linux --build=i686  --disable-dbus --disable-dbus-control --disable-a52 --disable-glx --disable-postproc --disable-qt4 --disable-skins2


매번오류 내는것도 귀차니즘.. OTL


2010.03.09 추가
target에서 할경우
./configure --disable-mmx --disable-sse --enable-run-as-root --with-tuning=no --disable-dbus --disable-dbus-control --disable-a52 --disable-glx --disable-postproc --disable-qt4 --disable-skins2
Posted by 구차니