PLAYSTATION 3 で動画再生
MediaTomb を使って Debian をメディアサーバにする
Linux をメディアサーバにするためには、 MediaTomb を使うのが一般的なようだ。 Debian (unstable) では、パッケージになっているので、apt で入れれば良い。
apt-get install mediatomb
MediaTomb の設定
そのまま起動しただけでは、PLAYSTATION 3 が MediaTomb サーバを見つけてくれない。 /etc/default/mediatomb でインターフェースの設定をする必要がある。 PLAYSTATION 3 が繋がっているほうのインターフェースを指定する。
INTERFACE="eth0"
MediaTomb そのものの設定は、/etc/mediatomb/config.xml で行う。
- 早送りなどができるように、protocolInfo extend= を yes にする
<server> : <protocolInfo extend="yes"/><!-- For PS3 support change to "yes" --> </server>
- 日本語のファイル名(UTF-8)を扱えるようにする
<import hidden-files="no"> : <filesystem-charset>UTF-8</filesystem-charset> </import>
- 必要に応じて、media type を追加する
<import hidden-files="no"> <mappings> <extension-mimetype ignore-unknown="no"> : <map from="m4v" to="video/mp4"/> <map from="mp4" to="video/mp4"/> <map from="mpg" to="video/mpeg"/> <map from="mpeg" to="video/mpeg"/> <map from="avi" to="video/divx"/> </mappings> </import>
PLAYSTATION 3 で再生できる h.264 動画の作成
あまり画質などにこだわらなければ、ffmpeg を使って簡単に生成できます。
一番簡単なのはこんな感じ。
ffmpeg -y -threads 2 -i input.mpg -f mp4 -r 29.97 -vcodec libx264 -acodec libfaac -ab 128k -qmax 22 -qdiff 2 -qcomp 0.2 -deinterlace -level 42 output.mp4
PS3 Video 9 による ffmpeg の実行例
こんな感じのがまぁまぁでいけた。ただ、PAR などの情報が消えるので、きちんとその辺処理したい。
VideoInfo Tool 3.1 (C) 2007 Red Kawa Inc. http://www.redkawa.com MediaInfoLib - v0.7.7.7 Container=MPEG-PS FileSize=999 MiB VideoCodec=MPEG-2V VideoPlayTime=00:14:28.734 VideoBitrate=8 716 Kbps VideoWidth=720 VideoHeight=480 VideoAspectRatio=1.778 VideoFrameRate=29.970 VideoFrameCount=26036 AudioCodec=AC3 AudioBitrate=256 Kbps AudioMode=CBR AudioChannels=2 AudioSamplingRate=48000 DONE MSG - OS - Version: Microsoft Windows NT 6.0.6001 Service Pack 1 MSG - Converter - Version: 4.04 MSG - Converter - Device: PS3 MSG - Converter - Profile: PS3 Video MSG - VideoInfo - Length: 868s MSG - VideoInfo - Width: 720 pixels MSG - VideoInfo - Height: 480 pixels MSG - VideoInfo - Aspect Ratio: 1.778 MSG - VideoInfo - Framerate: 29.97 fps MSG - VideoInfo - Frame Count: 26036 EXEC: C:\Program Files\Red Kawa\Video Converter App\Tools\FFmpeg\ffmpeg.exe -y -i "C:\tmp\gaudi.mpg" -an -pass 1 -f mp4 -title "gaudi" -timestamp "2008-12-11 11:15:45" -vcodec libx264 -level 42 -r 29.97 -b 2048k -bt 2048k -bufsize 50M -maxrate 62.5M -g 250 -coder 1 -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -flags2 +mixed_refs -me_method umh -subq 6 -trellis 1 -refs 3 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -qmin 10 -qmax 51 -qdiff 4 -deinterlace -threads 0 "C:\Users\tach\Videos\gaudi.mp4" FFmpeg version Sherpya-r15666, Copyright (c) 2000-2008 Fabrice Bellard, et al. libavutil 49.12. 0 / 49.12. 0 libavcodec 52. 0. 0 / 52. 0. 0 libavformat 52.22. 1 / 52.22. 1 libavdevice 52. 1. 0 / 52. 1. 0 libswscale 0. 6. 1 / 0. 6. 1 libpostproc 51. 2. 0 / 51. 2. 0 built on Oct 22 2008 23:37:16, gcc: 4.2.5 20080919 (prerelease) [Sherpya] Input #0, mpeg, from 'C:\tmp\gaudi.mpg': Duration: 00:14:28.83, start: 0.291900, bitrate: 9640 kb/s Stream #0.0[0x1e0]: Video: mpeg2video, yuv420p, 720x480 [PAR 32:27 DAR 16:9], 9200 kb/s, 29.97 tb(r) Stream #0.1[0x80]: Audio: ac3, 48000 Hz, stereo, s16, 256 kb/s Output #0, mp4, to 'C:\Users\tach\Videos\gaudi.mp4': Stream #0.0: Video: libx264, yuv420p, 720x480 [PAR 32:27 DAR 16:9], q=10-51, pass 1, 2048 kb/s, 29.97 tb(c) Stream mapping: Stream #0.0 -> #0.0 [libx264 @ 02B1BBB0]using SAR=32/27 [libx264 @ 02B1BBB0]VBV bitrate (62500) > level limit (50000) [libx264 @ 02B1BBB0]using cpu capabilities: MMX2 SSE2Fast SSSE3 Cache64
