ラベル ffmpeg の投稿を表示しています。 すべての投稿を表示
ラベル ffmpeg の投稿を表示しています。 すべての投稿を表示

2015/07/07

epgdump と ffmpeg + x264 + aac 再び

2年前にやったことだけれど Shuttle でも同じように使いたいので、
まずは標準的なセットアップをしておく。

epgdump

系統が幾つかあるようなのだが、json使いたいんで、こっちを使ってみる
$ git clone https://github.com/Piro77/epgdump.git

cmakeいるらしい
$ sudo apt-get install cmake

ビルド
$ cd epgdump
$ cmake .
$ make

xml,json,csv共にやってみた。良好である。

ffmpeg

こっちは後で手を加えていきたいところだけど、今は標準的なビルドをしておく

参考。英文だけど、情報に無駄がない
https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

取得
$ git clone https://github.com/FFmpeg/FFmpeg.git

必要最低限のライブラリインストール
$ sudo apt-get install yasm libx264-dev libfaac-dev
yasm入れておかないとcpuエンコ速くなりません。

コンフィグ実行
./configure \
  --enable-gpl \
  --enable-libfaac \
  --enable-libx264 \
  --enable-nonfree

ビルド & インストール
$ make
$ sudo make install
/usr/local/binにffmpeg,ffprobe,ffserverが。その他/usr/local/に開発用ファイルが入る。

テスト
$ recfsusb2n -b -i hd 21 30 test.ts
$ ffmpeg -y -i test.ts -c:v libx264 -c:a libfaac -preset superfast -f mp4 -threads 0 test.mp4

はい。滞りなく。

qsv対応?
nvencのIntelCPU版みたいなやつの組み込みで高速化とかもいずれ。


さあ、ここから新しい録画システム作りの始まりです。

2012/06/22

ひとまず録画できるところまで構築

デバイス周りのセットアップを先に終わらせておこうと思って、録画が出来るところまで再構築です。

recfsusb2n
wavecast独自のtsrec2ではなく、付属地デジチューナの本家からいただきました。
セットアップドキュメント通りにやっていきます。

boostライブラリが必要らしい
$ sudo apt-get install libboost1.48-all-dev
boost::threadとfilesystemだけでいいらしいけど、面倒なので全入れ。


録画ユーザをvideoグループに追加
$ sudo gpasswd -a [username] video

/lib/udev/rules.d/89-tuner.rulesを作成して以下を記載
# FSUSB2N
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="0511", ATTRS{idProduct}=="0029", MODE="0664", GROUP="video"
変更を適用する。
$ sudo udevadm control --reload-rules

USB機器を認識していることを確認
$ lsusb -d 0511:
Bus 001 Device 004: ID 0511:0029 N'Able (DataBook) Technologies, Inc. 
って出た。問題なく認識しているようだ。

recfsusb2nをビルド
ビルドエラーが出る。こちらを参考にしてソースをちょっと手直し。
そうそう、後で困るので、こちらのパッチもやっておこう。
実際どうなるんだろ?と思ってオリジナルのままやってみたら確かにffmpegに怒られました。因にwavecastパッチでは10カウントでしたね。 
動作確認
$ recfsusb2n -bv 27 40 test.ts

以上の事を、ぶっ続けでやったら、パーミッションエラーになった。
自分が、videoグループに入ってることを認識させるため、一度ログインし直す。
OK。

ffmpeg環境を前回と同じようにgitリポジトリから構築
まずは、下ごしらえ
$ sudo apt-get install git
$ sudo apt-get install yasm
$ sudo apt-get install libfaac-dev
$ sudo apt-get install libopencore-amrnb-dev
$ sudo apt-get install libopencore-amrwb-dev
$ sudo apt-get install libtheora-dev
$ sudo apt-get install libvorbis-dev
$ sudo apt-get install libxvidcore-dev
$ sudo apt-get install libmp3lame-dev ←自分は入れなかった。mp3使わないし。

x264ビルド
$ git clone git://git.videolan.org/x264.git x264
$ cd x264
$ make
$ sudo make install


ffmpegビルド
$ git clone git://github.com/FFmpeg/FFmpeg.git ffmpeg
$ cd ffmpeg
$ ./configure ...前回と同じ設定。ただし、--enable-libmp3lame 外した。
$ make
$ sudo make install

MP4Box
mp4boxが含まれているgpacをインストール

$ sudo apt-get install gpac
$ MP4Box -ipod -inter 500 in.mp4 out.mp4 な感じ?

で、適当に作った録画スクリプトがこちら
#!/bin/bash

TMP=$(tempfile)
FILE=`echo $TMP|sed s/^.*[/]//`
VIDEO='/home//media/video'
IPOD='/home//media/ipod'

recfsusb2n --b25 $C $T ${TMP}.ts

ffmpeg -y -i ${TMP}.ts -c:v libx264 -c:a libfaac -preset superfast -b:v 1800k -s 960x540 -aspect 16:9 -f mp4 -threads 0 ${TMP}.mp4

MP4Box -ipod -inter 500 ${TMP}.mp4 -out $VIDEO/${FILE}.mp4

ffmpeg -y -i $VIDEO/${FILE}.mp4 -threads 0 -s 480x272 -acodec copy -vcodec mpeg4 -b:v 900k -qmin 3 -qmax 5 -f mp4 $IPOD/${FILE}.mp4

# Cleanup
rm ${TMP}*

つい最近のffmpegだと、ビデオのビットレートを、'-b'じゃなくて、'-b:v'で指定しなさいとワーニングが出るようになったので、'-b:v'に変更しました。オーディオのビットレート指定は、'-b:a'だそうだ。

時々、ffmpegとx264のリポジトリアップデートと再ビルドをしていれば最新が保たれる。
ただし今回みたいにオプションが変わったりするんで、自動化は難しいかな。
エンコードメッセージを解析して自動対応なんてことが出来ればメンテフリーになるか?

ここまで出来れば、あとは epgrec 様を入れればほぼ出来上がり。
今回は自力で色々組んでみたいと思っているので、モチベーションキープのためにも入れないで我慢です。

2012/06/12

続ffmpegでどうにかする

前回記事で、ffmpegでどうのこうのと書いたけど、プリセット'fast'だと遅すぎて実用的じゃなかった。
fastなのに遅すぎるって、このプリセット書いた人ってのはどんなマシンスペックを標準と考えてるんだろ?まあ、細かいことは置いといて、実用的な処理時間でそこそこの品質をターゲットにしてみるかと。

計測

Wavecast標準フローとどっちが効率的かな?というのも気になったので、計測してみた。
30分番組をそれぞれのパターンで計測した。計測は'time'コマンドを使用した。
沢山サンプリングした平均ということじゃないんで、今回の結果ではということで。
プリセット以外のエンコード条件、その他は前記事どおり。

 elapsed
Wavecast標準フロー(vpre ibento7)
tssplit 0:01:15
demux 0:02:30
ffmpeg 0:19:59(video)
ffmpeg 0:04:35(audio)
mp4box 0:00:21
合計 0:28:40
fast
ffmpeg 1:38:58
mp4box 0:00:34
合計 1:39:32
veryfast
ffmpeg 0:50:32
mp4box 0:00:37
合計 0:51:09
superfast
ffmpeg 0:22:57
mp4box 0:00:34
合計 0:23:32
superfast + yadif
ffmpeg 0:53:07
mp4box 0:00:30
合計 0:53:37

結果
Wavecastフローはドキュメント通り録画時間と同じくらいの時間であった。
fastだと3倍以上!、veryfastでも倍近い時間がかかった。superfastでやっと現実的な処理時間だ。やっぱりそのくらいのハードスペックってことか。
そうそう、最近気づいたんだけど、標準フローで使われているibento7プリセットって、superfastと内容が同じだ。

yadif
最後の'superfast + yadif'のyadifは、Deinterlaceフィルタのこと。ffmpegのドキュメントを読むと-deinterlaceではなく、yadifフィルタを使いなさいということだ。指定するときは、'-vf yadif'ってやる。
結果はご覧のとおり倍近い時間がかかった。

なんでdeinterlaceしたかというと、映画やアニメはもともとプログレッシブだから大丈夫だけどニュースとかスポーツとかだと60fps録画ナマだったりするんでインターレースが気になる。やはり映像ソースやどう残したいかに合わせて使い分けかな。

結論
'superfast'でいいか。若干スピードについていけてない感があるんでスポーツ番組には不向きだけど、観れないってほどじゃない。ということで、標準フローより若干処理時間を短縮できたということかな。
逆に言えば、標準フローは思ったより非効率じゃないってことだね。ただ音ズレがね。

2012/06/06

最新ffmpegでどうにかする


wavecast標準システムも epgrec も、 なんとなく落ち着いてきたが、たまに録画結果にがっかりする時がある。途中から音と映像が大きく(数秒)ズレこんでしまうのだ。これをどうにか解消したい。

現在の手順
  1. TSからHDストリームだけを抽出
  2. HDTSからビデオとオーディオをdemuxして分離
  3. ビデオ(m2v)をH264にエンコード
  4. オーディオ(wav)をsoxでズレを微調整
  5. オーディオ(wav)をfaacにエンコードと同時にビデオとミックス
  • 最後の合成段階で同期処理が適切に行われない場合があるんじゃないか?
  • -vsync 1オプションで同期されるというが、壊れるケースがあるんじゃ困る。
  • 分離した方が機能がフルに使えて都合がよいというが、地デジ録画という特定条件に対して、どれほどの意味があるのか、自分はよく分からない。
ということでエンコードフローを見直すことにした。根拠が薄いので、これも実験だけど。

プランとしてはこんなイメージ
  • フローを最小化することで途中の問題点を回避できるかも
  • 最新ffmpegを使用することで不具合が解消できるかも
  • 全体の処理時間が短縮出来ればそれはそれで喜ばしい
最初は楽してどうにかならないかと思って、apt-get でffmpegインストールしてみたけど、コンフィグが--enable-libfaacじゃなかった。h264とかfaacとかライセンスがめんどくさいんで、使いたい人は自分でコンフィグしろよって感じかな。ということで、ソースからビルドです。

wavecast-01(v1.8)に入っているffmpegのバージョンは「SVN-r26402」ですな。これはこれで古くはないけど、ffmpeg.orgへ行くと、SVNリポジトリはこのリビジョンで凍結。以降はGitリポジトリで開発するって。今後のメンテナンスも考えるとGitリポジトリで進めるほうがよさそう。

ffmpeg Gitリポジトリの入手  (色んなミラーがあるけど自分はここにした)
$ git clone git://github.com/FFmpeg/FFmpeg.git ffmpeg
これでffmpegにソース一式がダウンロードされる。リポジトリのアップデートは
$ cd ffmpeg
$ git pull
ってやれば現在の最新にアップデートされる。だけど最新≠安定じゃないから理解の上で。
ffmpegディレクトリ以下で、コンフィグ確認。

$ ./configure --enable-libx264 --enable-libfaac
libx264はGPLだから--enable-gplつけろって怒られる

$ ./configure --enable-libx264 --enable-libfaac --enable-gpl
libfaacはnonfreeだから--enable-nonfreeつけろって怒られる

$ ./configure --enable-libx264 --enable-libfaac --enable-gpl --enable-nonfree
libx264 version must be >= 0.118と怒られる

$ sudo apt-get install x264=0.118
とか、適当じゃ入らなかった。新しめのことはやっぱり面倒くさい。
まずはlibx264を入手して、ソースからビルド
$ git clone git://git.videolan.org/x264.git でリポジトリから入手。最近はgitが多いね。
コンフィグテストでyasmが無いよって言われたので
$ sudo apt-get install yasm
で入れる。
$ ./configure --enable-shared(アプリじゃなくライブラリが欲しいので)
$ make
$ sudo make install
/usr/local/libに入る。念のため、ldconfigやるか?いっか。
ffmpegへもどって
$ ./configure --enable-libx264 --enable-libfaac --enable-gpl --enable-nonfree
通った。そうそう、libfaacは最初から入ってたのを使う。これでビルド環境は整った。

本番コンフィグ

wavecastにインプリメントされているffmpegは以下のようにコンフィグされている
configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab --extra-cflags='-mtune=core2 -mfpmath=sse -msse'
これを参考に、最新には使えなかった設定とx11grabとかいらないよ。と思うやつを消して
./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --extra-cflags='-mtune=core2 -mfpmath=sse -msse' --enable-avresample
 な感じになった。最後の--enable-avresampleを追加したのは、ドキュメントを読むとasynctsオプションが使えるようになるらしいと、asynctsは音声をタイムスタンプに同期するためのものらしいと、今回の目的に合いそうなオプションなので入れてみた。

で、無事コンフィグが通ったら
$ make
$ sudo make install
で、ビルド&インストール。
アプリは/usr/local/bin、プリセットは/usr/local/share/ffmpeg に入る。

エンコードテスト

$ ffmpeg -y -i TEST.ts -c:v libx264 -c:a libfaac -vpre ibento7 -f mp4 TEST.mp4
(ibento7はwavecastで用意されているプリセット)
Unrecognized option 'directpred'
/home/wave/.ffmpeg/ibento7.ffpreset: Invalid option or argument: 'directpred=1
', parsed as 'directpred' = '1'
エラー出るじゃないですか!

$ ffmpeg -y -i TEST.ts -c:v libx264 -c:a libfaac -vpre libx264-fast -f mp4 TEST.mp4
(libx264-fastはffmpegの付属プリセット)

でも同じエラーが。

試しに、directpredオプションを外してみたが、別のエラーが出てダメなプリセットだと言われる。
これを質問している記事を何件か見つけたけど、めぼしい解答が付いてない。
が、ひとつ糸口を見つけた。-presetを使ってみよという記事が。
(何処の記事だったかわからなくなりました・・)

確かにドキュメントを読むと、-vpre,-apre,-spreの他に-presetがある。しかも
-preset libx264-fastじゃだめで、-preset fastって書くらしい。
ファイル名のプリフィックスはエンコーダ名に紐付いているようなのだが・・・

結局のところ、-presetは、x264の--presetのことらしい。
詳しくは’x264 --fullhelp’ってやんなさいってffmpegのヘルプに書いてある。ややこしい。

$ ffmpeg -y -i TEST.ts -c:v libx264 -c:a libfaac -preset fast -f mp4 TEST.mp4

おお。動いた! 
そうそう。-c:v -c:aは、-vcodec,-acodecの別の書き方。気分です。

-vpre -fpreが使えないっす。実際のところ、どうするんでしょ? 

カスタムプリセットはひとまず諦め。x264プリセットなら使えそうなので、方針変更。
最新で標準的な使い方は2012年版FFmpeg が詳しく書かれています。


で、なんだかんだと実験した結果、こうなった
 (以前書いた、epgrec/do-record.shから抜粋)
  1. /usr/local/bin/ffmpeg -y -i /tmp/${REC}.ts -c:v libx264 -c:a libfaac -preset fast -b 2000k -s 960x540 -aspect 16:9 -f mp4 -threads 0 /tmp/${REC}.mp4
  2. /usr/bin/MP4Box -ipod -inter 500 /tmp/${REC}.mp4 -out $OUTPUT
  • tssplit2でのHDストリーム抽出やめ。
  • tsdemux2でのvideo/audio分離やめ。
  • よって、sox調整なし
  • よって、video/audio合成なし
素のTSファイルからh264/faacのmp4を作成。MP4BoxでiPod対応。だけになった。

映像は?
自分にとっては、-preset fast -b 2000k で十分かつ現実的かな。ウソ。現実的じゃなかった。続編へ。
以前は-r 24とか入れてたけどスポーツ番組には不向きだったので外した。

サウンドは?
エンコード劣化があると、こもった感じになるんで、48kHz,128kbpsのまま。

同期は?
今のところ良い感じ。ちょっと音が速いのでは?という番組もあるが、数秒ずれてしまう現象は今のところ発生していない。まあこの辺はもう少し実績をつまないとだけど。

 -tune ってのがあるらしい
x264の--tuneへ渡すオプションがffmpegの-tuneらしい。-tune animation とか、-tune film とかやれるそうな。録画情報からタイプを識別して振り分けとか出来るかもね。

asyncts どうなった?
えー、良く分からん。というか全然分からん。ドキュメントによると、
‘compensate’‘min_delta’‘max_comp’という3つのパラメータがあるらしいのだが
$ ffmpeg -i TS -filter_complex asyncts=max_comp OUT-file
ってやってみたものの、max_compなんて知らんって言われる。
色々入出力条件とかあるのか?・・・忘れることにする。


様子見
/root/taskの方は今までどおり、epgrec/do-record.sh を実験台にして様子見。
特に悪くなさそうなら、/root/taskの方へも反映させよう。

なんてもっともらしいことを書いてまとめようとしているが、結果から別段最新ffmpegである必要はなかったのでは?とも思う。が、色々やるんだったらやっぱり新しい方を使いたかったのだよ。私はやっぱり新車に乗りたいのだよ。

2012/05/30

wavecastでepgrec構築 録画編

wavecastで、epgrecが動くようにはなったけど、使えるようにするには、いくつか工程を踏むことになったので、その辺を書き記しておきます。

do-record.sh 作成
録画処理は全部ここで行うということで、各モードに対応した録画、エンコード処理を記述していくわけですが、wavecastで行なっている処理を周到しようと思って、試行錯誤の末、以下のような感じになりました。
#!/bin/bash
echo "CHANNEL : $CHANNEL"
echo "DURATION: $DURATION"
echo "OUTPUT : $OUTPUT"
echo "TUNER : $TUNER"
echo "TYPE : $TYPE"
echo "MODE : $MODE"

REC=`echo $(tempfile)|sed s/^.*[/]//`

echo "RECORDING : $REC"

# Record
if [ "$DURATION" ]; then
/home/wave/bin/tsrec2 --b25 $CHANNEL $DURATION /tmp/${REC}.ts 0
fi

# MODE==0
if [ $MODE -eq 0 ]; then
mv /tmp/${REC}.ts $OUTPUT
fi

# HD-TS
if [ $MODE -ge 1 ]; then
/usr/bin/wine tssplit2 -SD2 -SD3 -1SEG -OUT /tmp -BUFF 64 /tmp/${REC}.ts
# MODE==1
if [ $MODE -eq 1 ]; then
mv /tmp/${REC}_HD.ts $OUTPUT
fi
fi

# MP4
if [ $MODE -ge 2 ]; then
/usr/bin/wine tsdemux2 -i 'Z:\tmp\'${REC}_HD.ts -o 'Z:\tmp\'$REC -encode "Demux(m2v+wav)" -sound 0 -nd -start -quit
# /usr/bin/wine bontsdemux -i 'Z:\tmp\'${REC}_HD.ts -o 'Z:\tmp\'$REC -encode "Demux(m2v+wav)" -sound 0 -nd -start -quit

/usr/local/bin/ffmpeg -y -i /tmp/${REC}.m2v -threads 4 -vcodec libx264 -fpre /home/wave/.ffmpeg/ibento7.ffpreset -b 1800k -s 960x540 -aspect 16:9 -an -f mp4 /tmp/${REC}.264

/usr/bin/sox /tmp/${REC}.wav /tmp/${REC}-d.wav delay 0.2 0.2

/usr/local/bin/ffmpeg -y -i /tmp/${REC}.264 -threads 4 -vcodec copy -i /tmp/${REC}-d.wav -acodec libfaac -ac 2 -ar 48000 -ab 128k -vsync 1 /tmp/${REC}.mp4

/usr/bin/MP4Box -ipod -inter 500 /tmp/${REC}.mp4 -out $OUTPUT

/home/wave/bin/copy-to-itunes $OUTPUT
fi

# Mobile
if [ $MODE -eq 3 ]; then
/home/wave/bin/ipod-m4v $OUTPUT
fi

# Cleanup first!
rm /tmp/${REC}*

  1. tsrec2で一旦/tmpに録画
  2. モード0:TSファイルをそのまま保存
  3. モード1:HDTSファイルを作成保存
  4. モード2:H264にエンコードして保存
  5. モード3:MPEG4に再エンコードして保存 
  6. ワーク用tmpファイル削除
って感じです。モードごとに独立してなくて、何処までやるかって処理になってます。

tssplit2とtsdemux2
この2つのアップリはWindowsアプリなので、wineで実行できるようにする必要があります。
/root/.wine/drive_c/windows/system32 からこの2つのexeを/home/wave/.wine/drive_c/windows/system32へコピーします。

ffmpeg
-vpre ibento7だと、/home/wave/.ffmpeg/ibento7.ffpreset があっても見に行ってくれないようなので、直接指定で -fpre /home/wave/.ffmpeg/ibento7 って書きました。

soxで微調整
wavecastのエンコード手順はそれなりにいいと思うんですが、録画したものを視聴してみていると、どうも若干音がずれている気がしまして sox を使用して微調整してみました。自分的には合うようになったなと思ってます。本気の人は、編集ソフトとかで絵と音波形を見比べてみるんでしょうけど、私はフィーリングが合えばいいんです。soxは入ってなかったので
$ sudo apt-get install sox
で入れます。

/home/wave/bin/copy-to-itunes $OUTPUT
以前にも書いたiTunesへ自動登録するスクリプトを実行しているところです。気にしないで。

/home/wave/bin/ipod-m4v $OUTPUT
以前にも書いた初代ipod-touchで再生するファイル作成スクリプトです。気にしないで。

この当たりはまだ思ったような結果にならないんですが、今ん処こんな感じですかね。
次回は視聴編です。

2012/05/07

wavecast-01 画質調整

ルートになれるようになったので自分なりの調整を施してみた。
その前に簡単に録画環境を書いておく。

/root
ルートユーザディレクトリに色々はいってる。チューナ(FSUSB2N)のドライバ、ffmpeg、その他この製品に関する様々なプログラムが保存されている。なんかテスト環境とかもそのまま入ってる。


/root/task
録画関係のスクリプトは全部/root/taskに入っていて、全てルート権限で実行される。
これからここをいじるので、オリジナルをとっておこう。

tsrec2
地デジ録画は、/root/taskに直接入っている’tsrec2’というプログラムで録画している。
録画TSファイルは一旦/tmpに記録される。それにしてもtsrec2ってなんだろ?ぐぐってもそれらしいのは出てこないし。独自なのかな? じゃなくて、recfsusb2n でした。

TSからmp4になるまで
at00?.shがスケジューラから順に呼び出されて、 vidrecsrc?.pyが起動、 そこからvidrecsrc?.shが呼ばれて最終的に以下の順でプログラムが起動するようになっている。
  1. tsrec2
    /tmpにオリジナルTSファイルを保存(録画)
  2. tssplit2
    オリジナルから必要なHDストリームを取り出す
  3. tsdemux2
    ビデオ(m2v)とサウンド(wav)に分離
  4. ffmpeg
    m2vをx264にエンコード。ここが一番要なところ!
  5. ffmpeg
    wavをfaacでエンコードして、先ほどのx264と合成
  6. mp4box
    最後に iPod 対応にした?mp4ファイルを/home/wavecast/media/<date>に保存。ファイルのオーナーをwavecastにして公開
ffmpegで直接TSからmp4にすることも出来ると思うが、以上のような手順になっている。多分色々やった末にこのような手順に落ち着いたのだろうと思う。なので私は今のところ敢えてこの手順を変更するつもりはない。

画質調整
m2vからx264へのエンコード処理を調整すれば自分の欲している画質に調整できそうだ。
肝心な処理は、vidrecsrc5.shに書かれている。 オリジナルは、
/root/task/ffmpeg -threads4 -i /tmp/$1-h.m2v -vcodec libx264 -vre ibento7 -b 800k -r 20 -s 720x384 -aspect 16:9 -an -f mp4 /tmp/$1-h.264
これを以下のように変更した
/root/task/ffmpeg -threads4 -i /tmp/$1-h.m2v -vcodec libx264 -vre ibento7 -b 1800k -r 24 -s 960x540 -aspect 16:9 -an -f mp4 /tmp/$1-h.264
実施したのは、ビットレート、解像度、fpsの変更。
ffpresetのibento7は、/root/.ffmpegに記述されている。見たところ悪くないのでそのまま使用した。
解像度は日頃iMovieでホームビデオを整理しているがその解像度が960x540なので同じにした。
-r 20だと若干カクつきが気になったので24にちょいアップ。おまじないに近いが。
後はビットレート。cqpでの画質調整は難しいので-bを使う辺りは自分の考えに合っている。
自分の経験ではDVDレベルなら1500kbps程度あれば見れるものになる。
それよりもちょいよくしたいので、1800kbpsにした。欲しい画質はこれで得られた。
これ以上の画質を求めるなら、それなりのハードを購入したほうがいいんじゃないかな。と自分を納得させる。

iPad2やiMac、外出先からも見てみたがスムースな再生ができている。
自分は3G回線を通して見たいとは思わないので、LAN、Wifiでの視聴が出来れば十分だ。

標準では3G回線や海外で見ることを前提とした調整がされているようだが、自分は家で楽しむだけなので、このくらいがちょうどいい。

出先で見たい時はiTunesでファイルを突っ込んでオフラインでみる。
そもそも私は3Gや4G回線を使えるデバイスを持ってなかったりする・・・ランニングコスト高いし。


次にやりたいのは、最近購入したAppleTVでwavecastの録画データを直接再生したいのだ。
だけど3rdなのでまだ脱獄が出来ない orz。。。脱獄すればブラウザ経由で普通に見れるかな?
NASとして見れるかな?UPNPで見れるかな?
この辺はAppleTVで色々出きるようになってからか。今は我慢して普通にiPadでAirPlayする。