하늘높이의 프로그래밍 이야기

몇 주전에…

개인 서버로 사용하는 PC의 OS를 Fedora Core 13으로 업그레이드를 했는데….

이후 IPOD 동영상 인코딩을 위해  FFMPEG 등을 사용하기 위해 기존에 FreshRPMs를 사용하려고 봤더니..

너무 업데이트가 안되고 있는 것을 확인

 

요즘에 쓸만한 서드 파티 레포지토리를 찾아보았다.

그 중 맘에 드는 사이트가…

ATrpms… 페도라 코어 13의 rpm들도 따로 제공…

http://packages.atrpms.net/dist/f13/

 

#] rpm --import http://ATrpms.net/RPM-GPG-KEY.atrpms

#] vi /etc/yum.repos.d/atrpms.repo

 

[atrpms]
name=Fedora Core $releasever - $basearch - ATrpms
baseurl=http://dl.atrpms.net/f$releasever-$basearch/atrpms/stable
gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms
gpgcheck=1
enabled=1

#]yum install ffmpeg vlc faac gstreamer -y

 

IPOD  설치 환경 구축 완료!!

이제 기존에 올려놓았던 인코딩 스크립트를 이용해 인코딩을 해보죠^^

http://skylimit.pe.kr/146

Comment +0

몇 주 전에 필요에 의해서 조사하다가 발견한 사항인데…

조금 옵션하고 몇 가지 테스트를 더 해본 후 올리려다가… 몇몇 필요한 사람이 있다고 하여 일단 먼저 올린다.

이 글을 추후 테스트 등을 통해 변경 될 수 있음을 밝힌다.

 

더 놔두었다가는… 당분간은 바빠서 못 올릴 것 같기도 하고…

목적은 이렇게 동영상에서 자막을 선택해서 보기 위해서다.

 

윈도우에서 하는 방법은 eu81273님이 만드신 http://eu81273.tistory.com/203 툴을 이용하는 방법이 있다.

하지만 나는 홈서버로 운영하는 리눅스 머신에서 인코딩을 해야 하기 때문에… 위의 툴은 이용할 수가 없었다.

 

그리고 Mp4box만을 이용해서 넣는 방법이 없을까… 메뉴를 샅샅이 뒤진 결과… 아래와 같은 옵션을 주면 저렇게 멀티 랭귀지 설정이 가능했다.

 

#] MP4Box -add "영어자막.srt":lang=en:layout=0x60x0x-1:hdlr=sbtl:group=2 -add "한글자막.srt":lang=ko:layout=0x60x0x-1:hdlr=sbtl:group=2:disable "MP4파일"

 

나머지 다른 설정은 이전 글을 참고 바람

 


 

2010/04/14 - [Hardware/Encording] - MP4Box 만을 이용해 Ipod/Iphone 멀티 자막 입히기


2010/01/07 - [OS, DB/Linux,Unix] - 리눅스에서 iPod/iPhone 동영상에 자막 넣자!!


2010/01/07 - [OS, DB/Linux,Unix] - 리눅스에서 iPod/iPhone 인코딩하자!!!

2009/12/09 - [Media Tech/H.264,VC-1,Codec] - FFMPEG Rebuild


Comment +5

  • 대박입니다..
    저도 나름 커맨드 찾아내려고 노력했는데;; 제가 만든 프로그램 등이 무의미해지네요^^;

  • 우니 2010.06.01 21:26 신고

    아.. 저도 찾고 있었는데.. 아직 테스트 전이지만 정말 감사합니다. ^^

  • 우니 2010.06.11 09:47 신고

    제가 감사합니다. ^^
    근데 질문이 있는데요. 저 코드가 어떻게 만들어진 것인지 궁금해서요.
    enboys 님이 만들어주신 프로그램과 dumpster 를 이용해서 코드를 바꿔주는 것은 잘 되었는데,
    mp4box 만을 이용할 때는 가끔 안되는 파일들이 있어서요. 자막 문제인지 영상 문제인지.. 배드 파라메터 뜨면서요..
    위에 명령어를 보면 group 를 2 로 하는 것은 알겠는데,
    첫번째 자막 트랙은 flag 가 00001 이고, 두번째부터는 00000 로 되는 것으로 알고 있는데 이건 자동으로 되는 것인지요..
    그리고 뒤에 disable 은 무엇인지 궁금합니다.
    다시 한번 좋은 정보 감사합니다. :)

인코딩 스크립트를 이용해 동영상을 H.264로 인코딩한 후
자막을 쉽게 추가 하는 방법이 없을까 생각되서 찾아봤습니다.
2010/01/07 - [OS, DB/Linux,Unix] - 리눅스에서 iPod/iPhone 인코딩하자!!!
MP4Box라는 프로그램이 쉽게 지원하더군요.^^

먼저 mp4 동영상에 자막을 넣기 위해서는 아래와 같은 과정을 거쳐야 합니다.
smi to srt[UTF-8]
mplayer -dumpsrtsub [동영상 파일] -sub [자막파일] -subcp cp949  -vc null -vo null -noframedrop -benchmark -speed 100

만약 동영상 파일이 mplayer 에서 오류가 난다면...
mplayer /dev/zero -rawvideo ntsc:fps=1 -demuxer rawvideo -vc null -vo null -noframedrop -benchmark -sub [자막파일] -dumpsrtsub -subcp cp949 

이런 방식도 가능합니다. 대신 조금 느리죠.
smi2srt라는 Window C 프로그램도 리눅스용으로 컨버팅 해봤지만 생각보다 좋지는 않더군요 @.@

Mp4box Add
MP4Box -add dumpsub.srt:lang=ko:hdlr=sbtl [인코딩된 mp4 파일]

이제 아이팟에 넣어 볼까요?
간단한 샘플로 러브 액츄얼리를 해보았네요.




* 나중에 시간이 되면 쉘 스크립트로 하나 짜야겠네요.^^ 이놈의 감기 몸살이 떨어지면요. @.@
* 리눅스의 오픈소스로 가능하니 사용자가 소스를 올리면 IPOD용 파일(h.264)로 인코딩 해서 돌려주는 서비스도 가능 할 것으로 보입니다.

Comment +3

 

리눅스 시스템에서 하위 폴더를 쭉 긁어가며 소스의 원하는 내용을 찾고 싶을 때....

$ grep -rniI <Keyword>

[kunmin@linux]$ grep –help

사용법: grep [옵션]... 패턴 [파일] ...
Search for PATTERN in each FILE or standard input.
Example: grep -i 'hello world' menu.h main.c

Regexp selection and interpretation:

  -i, --ignore-case         ignore case distinctions
 

Output control:

  -n, --line-number         print line number with output lines
      --line-buffered       flush output on every line



  -R, -r, --recursive       equivalent to --directories=recurse
      --include=PATTERN     files that match PATTERN will be examined
      --exclude=PATTERN     files that match PATTERN will be skipped.
      --exclude-from=FILE   files that match PATTERN in FILE will be skipped.
  -l, --files-with-matches  only print FILE names containing matches
 

`egrep' means `grep -E'.  `fgrep' means `grep -F'.
With no FILE, or when FILE is -, read standard input.  If less than
two FILEs given, assume -h.  Exit status is 0 if match, 1 if no match,
and 2 if trouble.

Report bugs to bug-gnu-utils@gnu.org.

* 단 CPU 부하는 크니 주의할 것

Comment +0

vmware-any-any-update115.tar.gz
압축을 해제하고 ./runme.pl

Comment +0

PHP에서 깔끔하게 돌아가는 웹하드 솔루션이 없을까 고민중이다.

웹 파일서버를 만들어야 하는데

- 기존의 방식대로 FTP 올리고/APACHE indexes를 이용해서 사용할까?
-> 권한관리가 쉽지 않고 이쁘지 않다 -.-

자바스크립트와 PHP+MySQL 로 무료 웹하드 프로그램을 써봐?
-> 파일을 한번에 하나씩 올려야 되는점이 불편

음...그냥 PHP+ActiveX방식으로 하나 짜?
-> 음 적어도 2~3일 손봐야되고... 나 혼자서 쓸껀데 이정도 시간을 투자해?

음 역시 고민이야....

일단 rpm으로 대충~ php세팅은 마무리 했다~ ㅋㅋㅋ
다음에 고민해보려고.....

Comment +2

yum update만 하면 하루 종일 걸려서 답답하셨죠.
국내 사이트가 있더군요. 세이클럽에서 지원해주고 있습니다.

ftp://ftp.sayclub.com/pub/fedora/releases/
  - 세이클럽

등록해보세요.


설정파일은
/etc/yum.repos.d/
-rw-r--r-- 1 root root 1298 2007-12-12 00:35 fedora-updates.repo
-rw-r--r-- 1 root root 1381 2007-12-12 00:34 fedora.repo

ps. 페도라 8을 가장 빠르게 받을 수 있는 미러사이트도 역시 세이클럽입니다.
ftp://ftp.sayclub.com/pub/fedora/releases/8/Fedora/source/iso/

저희집 속도로 딱 50 Mbps나오더군요...
8분안에 받던데... 괜히 미국사이트에서 3시간이나 받았군...음..

사용자 삽입 이미지

Comment +0

페도라를 설치하고 가장 먼저 설치하려고 한 프로그램 바로 피카사이다.
맞다... 구글의 사진 관리툴이다.

윈도우에서 이것만큼 스피디한 사진툴은 못써본것 같다. 예전 ACDSEE 이런것들이 있었지만
UI도 편하고 기능이 심플하기도 하고  웹으로의 연동도 편리하고....

윈도우용 피카사를 계속 써왔지만 리눅스용은 첨이다. 그럼 이제 리눅스용 피카사를 써보자
우리나라 피카사 다운로드를 아무리 찾아봐도 리눅스 지원에 대한 이야기가 안보인다. 이런...

다시 구글에서 linux,picasa로 검색하니 바로 튀어나온다.
http://picasa.google.com/linux/index.html
이곳에 가니까 리눅스용 피카사에 대해서 나와 있었다.
사용법 및 UI는 윈도우용과 동일했다. 한글은 기본지원은 아닌것 같다.

아직 사진들을 복사하기전이라 피카사의 빠른 브라우징 속도등은 테스트 해보지 못했다.
그리고 한글 메뉴가 없는데.. 이건... 윈도우용에서 파일을 복사해오면 될려나...
디렉토리 구조를 보니 WINE으로 윈도우 모듈들이 돌아가는것 같다.
윈도우에서 한글 메뉴파일을 찾아봐야겠군.....

사용자 삽입 이미지

일단 사진부터 공유해서 가져와야겠다. 일단 삼바 세팅부터.... 해야겠군...

Comment +0

이번 주말에는 약간 시간이 있어서...
예전에 운영하다가 중단 된 개인 PC 서버를 복구 하기로 하였다.

오랜만에 리눅스를 다시 잡았더니...모르는게 영 많다.
누구 말대로..  NT를 너무 오래 잡았나?
예전에는 집에 리눅스 데스크탑을 설치해놓으면 뭐뭐뭐뭐 해야지...
기록해 놓은게 있었는데...

자료도 하드가 깨지면서 싹 날라갔더니....
뭐 부터 해야할지가 막막하다....

일단 레드헷 페도라 8을 설치 해보았다...
오호~ 페도라의 발전속도는 참 엄청나다......
이제 리눅스 데스크탑 서버로 쓰면서 리눅스 데스크탑을 가지고 놀아보자^^

사용자 삽입 이미지

다행스럽게 티스토리는 쉽게 이용가능 하다.

Comment +0

주말에 조금 시간이 나서 집에 팽팽 놀리는 리눅스서버를 점검해봤습니다.

그런데 역시 UTF-8을 안쓰고  EUC-KR로 사용하니 뭔가 못쓰는 부분이 만더군요...

집집하기도 하고 그래서 결국! 좋아 UTF-8을 사용해보자! 라는 결론을 내리게 되었습니다.


그렇다면 한글세팅은 어떻게 할것인가...

1.터미널을 바꾸다.

SecureCRT가 UTF8 컨버팅을 해서 쓸때 읽는건 별문제가 없는데

쓰는것이 문제가 있더군요....이런 그래서 터미널 쓰는 프로그램을 바꿔보았습니다.

netSarang의 Xshell로 변경했습니다.

UI도 괜찮고 국산프로그램이라그런지 한글에서도 별문제 없더군요...


2.삼바 설정을 UTF-8로 ...

뭐 이건 많이들 아시죠?

        dos charset = CP949

        unix charset = UTF8

요렇게해놓으면 윈도우에서는 CP949(eucKR)로

리눅스에서는 UTF8로 파일이 저장이됩니다.


3.proftpd 컨버팅 패치

wget http://www.hakusan.tsg.ne.jp/tjkawa/software/misc/proftpd-iconv/pack/proftpd-1.2.10-iconv.patch.gz  

gzip -d proftpd-1.2.10-iconv.patch.gz

wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.2.10.tar.gz 

tar -zxvf proftpd-1.2.10.tar.gz

patch -p0 < proftpd-1.2.10-iconv.patch

./configure

make

make install


나중에 실행할때

CharsetLocal           UTF-8
CharsetRemote         CP949


4.그럼 이제 남은 euckr들 파일들을 UTF8로 변환하자

convmv -f cp949 -t utf8 -r --notest *

convmv는 yum으로 받으라~ 이러면 끝!

Comment +2

안녕하세요 하늘 높이 입니다.

올랜만에 글을 씁니다. 요즘에는 회사에서 영 정신이 없었나보네요.


요즘에 저두 운동을 해볼까 하고 생각중인데

시간이 아무래도 아까운듯 하여 다른것과 동시에 해볼까 하는 생각을 하게 되었습니다.


그래서 생각하게 된것이 역시 영어의 를들으면서 운동을 해볼까?

얼마나 갈지는 모르지만 현재 생각에 좋을것 같아서.....

어쨋든 하늘높이의 쓸데 없는 프로그램 1에 EBS로 알람을에 이어서 EBS 영어방송을 녹음하는 스크립트를 짜게 되었습니다.


먼저 record의 스크립트 소스 입니다.

http://kldp.org/node/68033에서 참조했습니다.


#!/bin/sh

TIME=$1
PROGNAME=$2
DATE=`/bin/date +%Y%m%d`
ARCHIVE=/home/exmemory/public_html/ebs
mkdir $ARCHIVE/$PROGNAME

URL1="mms://219.240.37.11/L-FM_300k"
OGG="$ARCHIVE/$PROGNAME/$DATE.ogg"
mkfifo ebsfifo
# records stream into wav file during specified period and kills a process
oggenc -q5 ebsfifo --output=$OGG -t$PROGNAME -aEBS -d$DATE &
mplayer $URL1 -ao pcm:file=ebsfifo &
sleep $TIME
kill %1
kill %2


생각보다 단순하죠?

앗 그런데 왜 ogg로 했냐구요? 글쎄요. 테스트 하는 도중에 제 컴퓨터에서 lame이 잘돌지 않더군요.

그래서 그냥 ogg도 좋을꺼 같아서 ogg로 했습니다. mp3로 해보실분들은 lame으로 해보시기 바랍니다.


그리고 /etc/crondtab 에 넣어주십시요.

record.sh 30m EBS_Record

반복 주기는 알아서 작성하시구요.^^


* 개인 학습을 위한 mp3 플레이어 용으로만 저장하시기 바랍니다.

* 저장된 파일의 판매 및 재 배포는 불법인거 아시죠?

Comment +0

좋은 아침이죠?


http://cafe.naver.com/firstgroup.cafe(우공아이) 카페 매니저 하늘높이 입니다.


항상 켜놓는 리눅스 컴퓨터가 있으신분 예를 들면 저같이 리눅스를 배워보고자 삽질하시는분이나


리눅스 라우터 등을 사용하시는 분이 되겠네요.


오늘은 리눅스 쉘프로그램으로.. 음.. 쉘프로그램이라기 보다는 crond를 이용한 프로그램이죠 매우 단순합니다.


매일아침 7:20분에 EBS에서 영어 회화방송을 하더군요.


알람+영어공부겸 해서 자동으로 틀어보자라는 생각을 했습니다.


[root@linuxserver ~]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly


#EBS 라디오 듣자!

20 7 * * * root /usr/local/usr_script/ebs_start.sh
20 8 * * * root /usr/local/usr_script/ebs_end.sh


오홋 스크립트로 시작시간과 끝시간이 나와있네요. 7시 20분 분부터 8시 20분까지 틀어지는거지요.

그럼 ebs_start.sh와 ebs_end.sh만 보면 되겠군요.


[root@linuxserver Script]# cat ebs_end.sh
#!/bin/bash
killall -9 mplayer
[root@linuxserver Script]# cat ebs_start.sh
#!/bin/bash

mplayer mms://219.240.37.11/L-FM_300k


엇이렇게 단순할수가..... 이게 끝입니다. 물론 눈치빠른분들은 mplayer가 있어야 하네라는것을 보실수있겠죠.

mplayer설치법은 이곳저곳에서 한번 찾아보시구요. 안되시면 리플을...

어쩃든........하늘높이의 쓸데없는 프로그램은 이것까지 였습니다.


아참 윈도우(NT)로도 미디어플레이어와 예약작업을 이용하면 충분히 가능합니다.

어떻게 할수있을까요 해보실분은 과정을 답글로 달아주세요.


그리고 저 쉘스크립트가 토요일 일요일에는 동작하지 않게할려면 어떻게 해야할까요?^^

숙제입니다.

Comment +0