n021102, JO-SOO-IN


0. 들어가기


Apple TV (2g)를 잘 이용하고 있었는데 avi 컨테이너의 국내 릴 영상들은 고작 720p인데도 애플 티비의 XBMC에서 끊기는 현상이 있었다.  
펌웨어를 4.4.4로 업데이트하고 XBMC도 11 Eden Beta로 새로 설치했으나 증상은 전과 동일하였다.
그래서 여러 방면에서 해결방안을 모색하던 중 간단한 스크립트를 이용하여 h.264 or x.264로 인코딩한 동일 폴더 내의 모든 avi 컨테이너를 mkv로 변경하도록 하였다.

(업데이트) AVI TO MKV에서 AVI, MKV, MP4 간의 자유로운 변환을 추가하였다.


이 스크립트는 mkvmerge가 필요한데 OS에 따라 여러 다른 설치본이 있다.

mkvmerge 다운로드 가기 (클릭)


1. 스크립트


1) AVI -> MKV


아래의 스크립트를 vi와 같은 편집기를 이용하여 작성하고 filename.sh로 저장한다.

#!/bin/bash

# name of this script: avi_to_mkv.sh

# convert : .avi -> .mkv

# dependency : mkvmerge 

 

for i in *.avi; do

  if [ -e "$i" ]; then

    file=`basename "$i" .avi`

    mkvmerge -v -o "$file.mkv" "$i"

  fi

done


2) MKV -> MP4

#!/bin/bash

# name of this script: mkv_to_mp4.sh

# convert : .mkv -> .mp4

# dependency : mkvmerge 

 

for i in *.mkv; do

  if [ -e "$i" ]; then

    file=`basename "$i" .mkv`

    mkvmerge -v -o "$file.mp4" "$i"

  fi

done


3) AVI -> MP4

#!/bin/bash

# name of this script: avi_to_mp4.sh

# convert : .avi -> .mp4

# dependency : mkvmerge 

 

for i in *.avi; do

  if [ -e "$i" ]; then

    file=`basename "$i" .avi`

    mkvmerge -v -o "$file.mp4" "$i"

  fi

done


2. 실행하기


스크립트와 동일한 폴더 내에 컨테이너를 변경할 국내릴 avi들을 복사하고 아래의 명령어를 실행한다.


sh filename.sh


여러가지 작업한 내용을 기억하기 위한 수단으로 블로그를 하다보니 가끔 코드 적을 일이 있었는데 이런 좋은 소스가 있는 것을 보고 적용해보았다.

1. SyntaxHighlighter 3.0.83 적용하기

SyntaxHighlighter 3.0.83 다운로드


1) 다운로드한 압축파일을 풀어서 scripts, styles 폴더의 모든 파일을 티스토리에 업로드한다.
2) skin.html에서 </head> 바로 위에 아래의 내용을 삽입한다.

<script type="text/javascript" src="./images/shCore.js"></script>

<script type="text/javascript" src="./images/shBrushAS3.js"></script>

<script type="text/javascript" src="./images/shBrushBash.js"></script>

<script type="text/javascript" src="./images/shBrushColdFusion.js"></script>

<script type="text/javascript" src="./images/shBrushCpp.js"></script>

<script type="text/javascript" src="./images/shBrushCSharp.js"></script>

<script type="text/javascript" src="./images/shBrushCss.js"></script>

<script type="text/javascript" src="./images/shBrushDelphi.js"></script>

<script type="text/javascript" src="./images/shBrushDiff.js"></script>

<script type="text/javascript" src="./images/shBrushErlang.js"></script>

<script type="text/javascript" src="./images/shBrushGroovy.js"></script>

<script type="text/javascript" src="./images/shBrushJava.js"></script>

<script type="text/javascript" src="./images/shBrushJavaFX.js"></script>

<script type="text/javascript" src="./images/shBrushJScript.js"></script>

<script type="text/javascript" src="./images/shBrushPerl.js"></script>

<script type="text/javascript" src="./images/shBrushPhp.js"></script>

<script type="text/javascript" src="./images/shBrushPlain.js"></script>

<script type="text/javascript" src="./images/shBrushPowerShell.js"></script>

<script type="text/javascript" src="./images/shBrushPython.js"></script>

<script type="text/javascript" src="./images/shBrushRuby.js"></script>

<script type="text/javascript" src="./images/shBrushSass.js"></script>

<script type="text/javascript" src="./images/shBrushScala.js"></script>

<script type="text/javascript" src="./images/shBrushSql.js"></script>

<script type="text/javascript" src="./images/shBrushVb.js"></script>

<script type="text/javascript" src="./images/shBrushXml.js"></script>

<link type="text/css" rel="stylesheet" href="./images/shCore.css">

<link type="text/css" rel="stylesheet" href="./images/shThemeDefault.css">

  

<script type="text/javascript">

//<![CDATA[

SyntaxHighlighter.config.bloggerMode = true;

SyntaxHighlighter.all();

//]]>

</script>



3) 글을 작성한다. syntax를 적용하기 위해서는 HTML을 클릭하여 아래처럼 입력하면 된다.

<pre class="brush:원하는브러쉬">
코드 입력
</pre>




2. Copy & Paste로 쉽게 적용하기

위 방법은 스킨을 변경할 경우에 다시 적용해야 하고, 코드를 넣을 때마다 원하는 브러쉬를 매번 선택해야하는 불편이 있다. 아래의 방법을 사용하면 매우 쉽다.

1) Mac OS X + Xcode + Safari 브라우저를 조합하면 간단히 Copy & Paste로 Syntax가 적용된 코드를 넣을 수 있다.

'끄적이기 > 프로그래밍' 카테고리의 다른 글

[shell] LAME MP3, wav->mp3  (0) 2012.01.01
[Kindle 4] 한글 폰트 변경하기  (0) 2011.12.19


이 스크립트는 LAME을 이용한 쉘 스크립트이므로 LAME과 Shell을 이용할 수 있는 환경을 갖추어야 한다.
따라서 먼저 아래의 링크에서 자신의 환경에 맞는 LAME을 획득한다.

LAME 다운로드 링크

아래의 스크립트는 스크립트가 존재하는 동일 폴더내의 모든 .wav를 .mp3로 변환하고 원본 .wav는 보존한다.


#!/bin/sh

# name of this script: wav2mp3.sh

# wav to mp3


for i in *.wav; do

 if [ -e "$i" ]; then

   file=`basename "$i" .wav`

   lame -h -b 192 "$i" "$file.mp3"

 fi

done



실행은 아래처럼 터미널에서 입력한다.

sh wav2mp3.sh


'끄적이기 > 프로그래밍' 카테고리의 다른 글

[Web] Tistory에 Syntax 적용하기  (0) 2012.01.01
[Kindle 4] 한글 폰트 변경하기  (0) 2011.12.19