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

몇 주전에…

개인 서버로 사용하는 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

아이팟 터치에서 트위터를 하다 보니…

트위터 링크를 클릭해보면… 티스토리를 페이지가 나오는 블로그들이 많이 보였다.

티스토리에는 /m을 하면 모바일 페이지가 나오는데… 크디큰 PC용 페이지를 안보이는 방법이 없을까?

그렇다고 모바일 링크를 따로 발급할 수도 없고…

 

자바스크립트로 브라우저 Agent값을 비교해 /m을 붙이면 되겠구나…

대충 아래 같이 작성 …

 

<!-- 모바일 브라우저 인식 -->
<script type="text/javascript">
    
    //Script by kunmin, 2010-04-06
    var mobilewords = new Array("Windows CE","Mobile");
    for (var word in mobilewords) {
        if (navigator.userAgent.match(mobilewords[word]) != null && confirm("모바일 브라우저 입니다. 모바일 페이지로 이동하시겠습니까?")) {
            //티스토리 /m 모바일 페이지로 이동
            location.href = "http://" + location.host + "/m" + location.pathname;
            break;
        } 
    }
</script>
<!-- 모바일 브라우저 인식 -->

 

승인 안 하면 기존 웹 페이지 나온다.

신고

Comment +7

인코딩 스크립트를 이용해 동영상을 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

즐거운 아이팟/아이폰 라이프들 하고 계신가요?

저도 지하철에서 많이 이용하고 있습니다.
앱들을 이용하는것도 좋지만 음악이나 동영상을 보기에도 아이팟이 참 좋은데요.

그 때마다 인코딩을 하려니 쩝.... H.264 인코딩 시간이 엄청나게 걸리네요.
인코딩은 해야하는데 지금 사용하는 컴퓨터가 인코딩으로 느려지는 건 싫구요.
하여 항상 켜져있는 제 Linux 서버[넷탑]의 FFMpeg을 이용해서 인코딩 하는 방법이 없을까? 하고 찾아보았는데 아래와 같은 스크립트가 있더군요.^^

http://slated.org/howto_transcode_h264_for_ipod_with_ffmpeg
[IE로는 접속이 안되니 놀라지 마시길...@.@]

그중에 몇가지를 수정해 보았습니다.
필요 하신분은 참고하세요.^^

[주의] 이 스크립트가 돌아갈려면 mplayer,ffmpeg,gpac[MP4Box] 등이 설치 되어 있어야 합니다.

#]ipod.sh *.avi 가능!!

소스보기


 
저작자 표시 비영리 변경 금지
신고

Comment +7

  • sumy 2010.01.22 03:03 신고

    안녕하세요. 저는 지금 우분투를 쓰고 있는데요, 스크립트 다운받아서 해보려구 이틀이나 붙잡고 있는데, 잘 안 돼서요.
    스크립트를 /usr/local/bin 안에 넣고 실행권한을 줘야 하는 거는 알아들어서 해보고,
    위에 있어야 한다고 적으신거 다 시넵틱관리자에서 찾아서 설치한 거 같은데요..[mp4box]이거는 무슨 말인지 모르겠구, 나오지도 않아서 못했어요. gpac만 설치했구요...
    근데 해보니까 이런 에러가.... 나오는데요,

    sumy@sumy-desktop:~/비디오/test$ ipod.sh *.avi

    Copying "CSI.NY.S06E11.Second.Chances.HDTV.XviD-FQM.avi" to "/home/sumy/tmp"
    CSI.NY.S06E11.Second.Chances.HDTV.XviD-FQM.avi
    367313666 100% 15.27MB/s 0:00:22 (xfer#1, to-check=0/1)

    sent 367358613 bytes received 31 bytes 15632282.72 bytes/sec
    total size is 367313666 speedup is 1.00

    FFmpeg version SVN-r19352-4:0.5+svn20090706-2ubuntu2, Copyright (c) 2000-2009 Fabrice Bellard, et al.
    configuration: --extra-version=4:0.5+svn20090706-2ubuntu2 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libgsm --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libdc1394 --extra-cflags=-I/build/buildd/ffmpeg-0.5+svn20090706/debian/include --enable-shared --disable-static
    libavutil 49.15. 0 / 49.15. 0
    libavcodec 52.20. 0 / 52.20. 0
    libavformat 52.31. 0 / 52.31. 0
    libavdevice 52. 1. 0 / 52. 1. 0
    libavfilter 0. 4. 0 / 0. 4. 0
    libswscale 0. 7. 1 / 0. 7. 1
    libpostproc 51. 2. 0 / 51. 2. 0
    built on Oct 13 2009 22:15:16, gcc: 4.4.1
    Input #0, avi, from '/home/sumy/tmp/CSI.NY.S06E11.Second.Chances.HDTV.XviD-FQM.avi':
    Duration: 00:42:56.13, start: 0.000000, bitrate: 1140 kb/s
    Stream #0.0: Video: mpeg4, yuv420p, 624x352 [PAR 1:1 DAR 39:22], 23.98 tbr, 23.98 tbn, 23.98 tbc
    Stream #0.1: Audio: mp3, 48000 Hz, stereo, s16, 128 kb/s
    Unknown encoder 'libx264'
    Something went wrong with ffmpeg.
    Please check the output and try again.

    뭘 어떻게 해줘야 하는지 모르겟어요... 도와주세요^^

    • gpac가 MP4Box입니다. 그 부분은 그렇게 하시면 될것 같구요.

      ffmpeg 옵션에 --enable-libx264가 들어가야 하는데 ffmpeg는 어디서 받으신거죠?

  • sumy 2010.01.23 17:29 신고

    말씀하신 "mplayer,ffmpeg,gpac[MP4Box] 등"
    이것들은 전부 시냅틱관리자에서 찾아서 설치했습니다.
    다른 버전을 이용해야 하나요?

    • 흠... 제가 우분투가 깔린곳이 없어서 일단 확인은 못해보지만....

      패키지 관리자에서 x264-libs를 한번 찾아보세요.
      만약에 이것이 없다면 이것을 깔아주시구요.
      이것을 깔아도 안된다면 ffmpeg 패키지를 리빌드 해야 될것 같은데요.(리빌드 옵션이 제공된다면....)

      아니면 --enable-libx264 옵션을 이용해서 별도로 설치하셔아 할것 같습니다.

  • sumy 2010.01.29 02:17 신고

    한참 헤매다니다 이제 해결했어요.
    저는 지금 우분투 9.10 쓰고 있는데요, 우분투 저장소에 있는 ffmpeg 가 오래된 버전인가봐요.
    그래서 구글링해서
    http://ubuntuforums.org/showthread.php?t=786095
    이 문서를 찾아서 순서대로 해서 저도 이제 인코딩이 되네요.
    순서대로 하는 것도 서너번 물 먹었지만, 결국 되네요^^
    저같은 생초짜가 이 문서 보고 헤맬까봐 피드백삼아서 남겨요^^
    고맙습니다.

  • 생초짜;; 2010.03.01 22:21 신고

    하늘높이님 sumy님 고맙습니다 지나가던 생초짜 큰 도움 얻었습니다^^;

IPod를 사용하다 보니…

몇 가지 팁을 공유해볼까? 하는데… 화면 캡쳐를 어떻게 한담…

윈 CE 계열처럼 프로그램을 깔아서 해야 하나? 생각 하고 있었는데…

 

허걱!!

홈버튼+전원버튼 = 화면 캡쳐

이렇게 간단할 수가… 쩝

신고

COMMENT :0

최근에 새로 구매한 아이팟 터치용으로 동영상을 인코딩하려 하는데.....
Fodora core 12 에서 FFMpeg 아래와 같은 옵션으로 돌릴려고 하니...

ffmpeg -i "INPUT.avi" -acodec libfaac -ab 128k -s 480x320 -vcodec mpeg4 -b 0.5M -flags +aic+cbp+mv0+mv4 -trellis 1 -mbd 2 -cmp 2 -subcmp 2 -g 250 -maxrate 0.8M -bufsize 2M -metadata "title=제목" -f ipod "OUTPUT.mp4"
 
뭐 대략 faac 오류...
알고 봤더니 아래와 같이 faac 옵션이 빠져있었다.
(사연은 non-free가 되었다는....)

FFmpeg version SVN-r20372, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  built on Nov  7 2009 17:50:32 with gcc 4.4.2 20091027 (Red Hat 4.4.2-7)
  configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib --mandir=/usr/share/man --arch=i686 --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables' --extra-version=rpmfusion --enable-bzlib --enable-libdc1394 --enable-libdirac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avfilter-lavf --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib --cpu=i686 --enable-runtime-cpudetect
  libavutil     50. 3. 0 / 50. 3. 0
  libavcodec    52.37. 1 / 52.37. 1
  libavformat   52.39. 2 / 52.39. 2
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1. 4. 1 /  1. 4. 1
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0

[root@linuxserver i686]# rpmbuild --rebuild --with faac ffmpeg-0.5-5.20091026svn.fc12.src.rpm
RPM 리빌딩, 의존성 개발 RPM들 설치, RPM 재 설치


[root@linuxserver i686]# ffmpeg
FFmpeg version SVN-r20372, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  built on Dec  9 2009 13:30:26 with gcc 4.4.2 20091027 (Red Hat 4.4.2-7)
  configuration: --prefix=/usr --bindir=/usr/bin --datadir=/usr/share/ffmpeg --incdir=/usr/include/ffmpeg --libdir=/usr/lib --mandir=/usr/share/man --arch=i686 --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables' --extra-version=rpmfusion --enable-bzlib --enable-libdc1394 --enable-libdirac --enable-libfaac --enable-nonfree --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-x11grab --enable-avfilter --enable-avfilter-lavf --enable-postproc --enable-pthreads --disable-static --enable-shared --enable-gpl --disable-debug --disable-stripping --shlibdir=/usr/lib --cpu=i686 --enable-runtime-cpudetect
  libavutil     50. 3. 0 / 50. 3. 0
  libavcodec    52.37. 1 / 52.37. 1
  libavformat   52.39. 2 / 52.39. 2
  libavdevice   52. 2. 0 / 52. 2. 0
  libavfilter    1. 4. 1 /  1. 4. 1
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0

IPOD 터치용 인코딩 성공!!~

신고

'Media Tech > H.264,VC-1,Codec' 카테고리의 다른 글

FFMPEG 옵션  (0) 2012.05.11
FFMPEG Rebuild  (0) 2009.12.09
Apple's Darwin Streaming Server On Fedora 10  (0) 2009.04.16
VLC 로 트랜스코딩하기  (0) 2009.02.11
MKV 포맷...  (3) 2008.09.22
Video codecs tutorial  (0) 2007.07.12

COMMENT :0

티스토리 툴바