« 2008年04月 | メイン | 2008年06月 »

2008年05月31日

●フォレスター(EJ20)大環状線走破シリーズ(7回目)

フォレスター(EJ20)大環状線走破シリーズ(7回目)の動画を作成してみました。
(33分/493MB/640×480)

7回目は、1日目の「岐阜県下呂市 道の駅 飛騨金山ぬく森の里温泉」から「岐阜県郡上市 美山鍾乳洞」までを走行したときの様子になります。(周辺の地図)

20070922-7-1.jpg


動画の内容ですが、国道256号線経由で岐阜県郡上市にある美山鍾乳洞までいく流れになっています。

主な通過地点は・・・

・国道256号線
・道の駅 和良
・蛇穴
・戸隠神社(重ね岩) ※動画にはありません。
・美山鍾乳洞

です。

動画にはありませんが、念興寺の鬼の首にも行ってみたのですが残念ながら見られませんでした。
平日でないとだめなのでしょうか!?

動画のBGMは、KODAMA BAND様ご提供です♪
再生してみる方はこちらをクリックしてください。

続きを読む "フォレスター(EJ20)大環状線走破シリーズ(7回目)"

2008年05月26日

●フォレスター(EJ20)大環状線走破シリーズ(6回目)【国道41号線を激走!?】

フォレスター(EJ20)大環状線走破シリーズ(6回目)の動画を作成してみました。
(30分/442MB/640×480)

6回目は、1日目の「岐阜県下呂市 下呂温泉」から「岐阜県下呂市 道の駅 飛騨金山ぬく森の里温泉」までを走行したときの様子になります。(周辺の地図)

20070922-6-1.jpg


動画の内容ですが、国道41号経由で道の駅 飛騨金山ぬく森の里温泉までいく流れになっています。

主な通過地点は・・・

・国道41号線
・国道256号線
・道の駅 飛騨金山ぬく森の里温泉

です。
しかし、JR高山本線は一度乗ってみたいものです。

動画のBGMは、KODAMA BAND様ご提供です♪
再生してみる方はこちらをクリックしてください。


2008年05月25日

●フォレスター(EJ20)大環状線走破シリーズ(5回目) 【下呂温泉に潜入!】

フォレスター(EJ20)大環状線走破シリーズ(5回目)の動画を作成してみました。
(38分/568MB/640×480)

5回目は、1日目の「岐阜県高山市 道の駅 飛騨街道なぎさ」から「岐阜県下呂市 下呂温泉」までを走行したときの様子になります。(周辺の地図)

20070922-5-1.jpg


動画の内容ですが、国道41号経由でちょっと寄り道して下呂温泉までいく流れになっています。

主な通過地点は・・・

・岐阜県高山市 道の駅 飛騨街道なぎさ
・国道41号
・岐阜県下呂市 南飛騨小坂「はなもも」
・JR高山本線 下呂駅
・下呂大橋

動画のBGMは、KODAMA BAND様ご提供です♪
再生してみる方はこちらをクリックしてください。

あと写真を少し撮影したのでよかったら最後まで見てみてください♪
(動画で紹介した温泉もありますよ。私はとても入れませんでしたが・・・(〃▽〃))

続きを読む "フォレスター(EJ20)大環状線走破シリーズ(5回目) 【下呂温泉に潜入!】"

2008年05月24日

●フォレスター(EJ20)大環状線走破シリーズ(4回目)

フォレスター(EJ20)大環状線走破シリーズ(4回目)の動画を作成してみました。
(27分/396MB/640×480)

4回目は、1日目の「岐阜県高山市 道の駅 飛騨たかね工房」から「岐阜県高山市 道の駅 飛騨街道なぎさ」までを走行したときの様子になります。(周辺の地図)

20070922-4-1.jpg


動画の内容ですが、国道361号と国道41号がメインになります。
(途中で温泉で有名な下呂方面に向かうことになります。)

主な通過地点は・・・

・岐阜県高山市 道の駅 ひだ朝日村
・県道87号
・国道41号
・岐阜県高山市 道の駅 飛騨街道なぎさ


しかし、途中の美女峠は気になるところです。笑。


動画のBGMは、KODAMA BAND様ご提供です♪
再生してみる方はこちらをクリックしてください。

●フォレスター(EJ20)大環状線走破シリーズ(3回目)

フォレスター(EJ20)大環状線走破シリーズ(3回目)

ご感想を頂けたので((TдT) アリガトウ)続編を続けます。

フォレスター(EJ20)大環状線走破シリーズ(3回目)の動画を作成してみました。
(35分/527MB/640×480)

3回目は、1日目の「長野県木曽郡木曽町 国道361号線 九蔵峠付近」から「岐阜県高山市 道の駅 飛騨たかね工房」までを走行したときの様子になります。(周辺の地図)

20070922-3-1.jpg


動画の内容ですが、国道も361号がメインになります。
今回から舞台は長野県から岐阜県になります。
(長峰峠を越えて岐阜県高山市に入ります。)
なお、前回の動画で出会ったライダーと道の駅 飛騨たかね工房でニアミスしました。笑。
あと、今回は有名な野麦峠には行けませんでした。いつか走行してみたいものです。

動画のBGMは、KODAMA BAND様ご提供です♪
再生してみる方はこちらをクリックしてください。

2008年05月22日

●フォレスター(EJ20)大環状線走破シリーズ(2回目)

フォレスター(EJ20)大環状線走破シリーズ(2回目)

反応はまだ頂けていませんが、(泣)
フォレスター(EJ20)大環状線走破シリーズ(2回目)の動画を作成してみました。
(30分/462MB/640×480)

2回目は、1日目の長野県 道の駅 「日義木曽駒高原」から長野県木曽郡木曽町 国道361号線 九蔵峠付近までを走行したときの様子になります。(周辺の地図)

20070922-2-1.jpg

動画の内容ですが、国道361号がメインになります。
いちばーん最後におまけがあります。
これも旅の醍醐味のひとつでしょうか!?

動画のBGMは、KODAMA BAND様ご提供です♪
再生してみる方はこちらをクリックしてください。

続きを読む "フォレスター(EJ20)大環状線走破シリーズ(2回目)"

2008年05月19日

●千代田線の遅延

遅延するのはいいんだけど、乗ってから「遅れています」のは・・・( >Д<;)
遅れているなら最初から乗らないのになぁ。

2008年05月11日

●フォレスター(EJ20)大環状線走破シリーズ(1回目)

何回目まで続くかわかりませんが、
フォレスター(EJ20)大環状線走破シリーズ(1回目)の動画を作成してみました。
(29分/440MB/640×480)

記念すべき1回目は、1日目の長野県 中央道 伊那IC付近~長野県 道の駅 「日義木曽駒高原」までを走行したときの様子になります。(周辺の地図)

20070922-1-1.jpg

動画の内容ですが、国道361号と国道19号がメインになります。
本当は、権兵衛峠を色々と散策したかったのですが徹夜明けで体力が不足していた為断念しました。
(;・∀・)(しかし、権兵衛峠ってところはすごいところですね。)

動画のBGMは、KODAMA BAND様ご提供です♪
再生してみる方はこちらをクリックしてください。

●フォレスター(EJ20)大環状線走破シリーズキャプチャ開始!?

2007年の9月22日から24日にかけてフォレスター(EJ20)で大環状線走破を行った様子を動画にし始めました^^;

全工程の概要は以下の様な感じです

・1日目

東京⇒中央道伊那IC⇒高山⇒下呂温泉⇒白鳥

・2日目

白鳥⇒白川郷⇒平村⇒金沢東⇒今浜⇒千里浜⇒七尾⇒氷見⇒富山

・3日目

富山⇒糸魚川⇒上越⇒赤倉温泉⇒戸隠⇒東京

本当に全工程動画に出来るのでしょうか。
後は私のやる気次第です。

2008年05月10日

●mythbackendの自動起動失敗と異常終了

MythDora4.0 なんちゃって 日本語版ですが・・・

よくわからないのですが、サーバ再起動時にmythbackendの起動が失敗する&mythbackendの異常終了
が発生するようになってしまいました。
mythbackendが起動していないとMythWebとかも使用できなくなってしまうので大変です。

仕方ないので、以下のようなものを作成してcronに登録して様子を見ています。

#!/bin/sh

ps -ef | grep mythback | grep -v "grep mythback"

if [ $? -eq 1 ]; then
/etc/rc.d/init.d/mythbackend start
fi

exit 0;

今の所支障は出ていない感じです。

●MythFlashは一時停止中

どうも録画したmpgファイルをflvに変換する工程でサーバーに負荷がかかるらしく、ファンの音が大きくなってしまったのでMythFlashは一時停止中になってしまいました^^;
Core2Duoとかがほしいところです。

2008年05月08日

●MythDora 5.0

うーん。4月27日にMythDora 5.0がリリースされていたようです^^;
(ようやく4.0で動くようになったのになぁ。)

MythDora 4.0では、Fedora6がベースでしたがMythDora 5.0だとFedora8がベースになってる模様です。
Fedora8だとyumとかそのまま使えそうな感じでしょうか。
MythDora 4.0からのアップグレードも出来るっぽいですね。

個人的には、

MythTV Add/Remove module GUI menu
Updated MythStreamTV for 0.21
MythWeb password protect at install

あたりがきになるとことですね。

でも、インストールしただけではGV-MVP/RXは使えるのか不安ですねぇ。
3枚挿しになっている内の1枚を外して実験してみるのもいいのかな。

2008年05月06日

●関越道に事前確認の大事さを教わる

2007年5月20日シリーズの最終作です。
草津から一般道で前橋の手前まで来て高速(関越道上り)を走行したときの様子を動画にしてみました。
(17分/270MB/640×480)

20070505-4-1.jpg

今は行っているか知りませんが、当時関越道は限定割引制度みたいのがあり半額ぐらいでした。
事の顛末は動画でご確認ください♪
(中央道は人生の厳しさを教えてくれますが、関越道も人を成長させてくれるようでつ。笑。)

なお、北関東道は伊勢崎ICから延伸され今日現在は、

・太田藪塚IC
・太田桐生IC

が作成されたようです。

動画のBGMは、KODAMA BAND様ご提供です♪
再生してみる方はこちらをクリックしてください。

●フォレスター、万座峠に消ゆ

今回の動画は、前回の動画の続きになりまして、
フォレスターで長野県上高井郡高山村から群馬県吾妻郡草津町までを走行したときの動画になります。
(32分/482MB/640×480)

20070505-3-1.jpg

主な見所は・・・

・万座峠
・国道292号線(白根山周辺)
・草津

でしょうか。

動画で走行している道は、冬季通行規制があります。
去年はこの時期でも偶然通行可能でしたが、今年はどうなっているかわかりません。
事前に確認が必要です。

なお、タイトルが意味深になっていますが動画にて確認をお願いします。( ̄ー ̄)
(今回は初めての手法を取り入れて作成してみました。好評だったら次回もそうします。)

動画のBGMは、KODAMA BAND様ご提供です♪
再生してみる方はこちらをクリックしてください。

●長野県上高井郡高山村の松川渓谷温泉 滝の湯までの動画

2007年の5月20日に長野県上高井郡高山村の松川渓谷温泉 滝の湯に向かう様子を
動画にしてみました。(32分/480MB/640×480)
車は、いつものようにフォレスターです。

参考までに松川渓谷温泉 滝の湯は、以下の場所付近にあります。
http://map.yahoo.co.jp/pl?lat=36.66869361&lon=138.42690639&sc=5&type=scroll

これからお出かけしてみる方がいらしたら参考にして頂ければ幸いです。
(あ、もう1年近くも前だったりしますね^^;)

20070505-2-1.jpg

動画のBGMは、KODAMA BAND様ご提供です♪

再生してみる方はこちらをクリックしてください。

2008年05月05日

●MythStreamTVの設定(PART3)

今回のネタは、前回までの設定で普通の使用にはまず問題ないと思うのですが
さらに発展編ということで説明してみようと思います。

■Confirm.phpのStream Protocolについて

標準では、MMSかHTTPが選択可能になっています。
HTTPを選択して、さらにユーザ名とパスワードを設定すると基本認証が使えます。
(後述のドキュメントにも記載がありました。)
ただし、両方とも未入力だと認証なしに動画を再生可能になってしまいます。
これだと、「むふふ」な番組を見ているときに危ないのでちょっとだけ技をしかけてみました。
私が行った技は以下の2点です。

 ・confirm.phpにJavaScriptを埋め込み、ユーザ名とパスワードのどちらかが入力されていた場合は、
両方とも入力必須とする。
 両方とも未入力の場合は、デフォルトのユーザ名とパスワードがセットされるとの警告をだした上で
サブミットさせる。また、プロトコルはhttpのみしか選択出来ないようにする。

 ・createfile.phpのLaunch Stream:の部分をhttpのみに変更した。

 ・/storage/mythstreamtv/mythstreamtv.shを修正して、ユーザ名とパスワードが未入力の場合は
デフォルトのユーザ名とパスワードをセットするようにした。

気休め程度ですが、無いよりかはましかなと^^;

■Stream Protocolはhttpではなくhttpsは使用出来るのか!?

結論からいうと私は成功していません。
ただ、以下のドキュメントには使えそうなことが書いてあります。
http://www.videolan.org/doc/streaming-howto/en/streaming-howto-en.html
また時間があったら挑戦してみようと思います。


以上でMythDora4.0(なんちゃって日本語版)のMythStreamTV設定は終了です。

●MythStreamTVの設定(PART2)

前回までで基本の設定は終了したので今回の設定はお好みで行ってください。

■ストリーミング時のポート番号を変更したい

まず、前回と同様にcreatefile.phpファイルを修正してください。

次に以下のファイルを修正します。

[root@kororin mythstreamtv]# pwd
/storage/mythstreamtv
[root@kororin mythstreamtv]# vi mythstreamtv.sh

url=:8001という部分がありますので修正します。また、host=:8002という部分も修正してもいいです。

最後に、前回と同様にFire Wallの設定を変更してください。


■ストリーミング時の画質と音を向上させたい。

・標準インストールの場合
[root@kororin default]# pwd
/var/www/html/mythweb/modules/streamtv/tmpl/default

・ユーザディレクトリの場合
[root@kororin default]# pwd
/home/hoge/public_html/mythweb/modules/streamtv/tmpl/default

以下のファイルを修正します。
[root@kororin default]# vi confirm.php

修正は、HTMLの修正になります。
具体的には、以下の項目に関してお好みの設定に修正してください。

 ・Video Codec
 (特に修正しませんでした。)

 ・Video Speed
 (現在、上限を4000程度にしています。)

 ・Audio Speed
 (特に修正しませんでした。)

 ・Video Size
 (特に修正しませんでした。)

 ・Video FPS
 (30を追加しました。)

 ・Stream Protocol
 (特に修正しませんでした。)

この設定で全てMAXにした場合には、CPU使用率は常に50%程度です。
実験してはいませんが、複数のPCからアクセスされた場合は結構厳しいのかもしれません。

続きはまた次回に。

●MythStreamTVの設定(PART1)

今回のネタは、MythStreamTVになります。
MythStreamTVとは、録画した番組又は録画中の番組をMythWebで選択して
WindowsMediaPlayer等でストリーミング再生する機能です。

Vine4.2とかDebian等でこれを実現しようとすると相当困難なのですが、MythDora4.0(なんちゃって日本語版)では
標準インストールで実現しています。私は、これが出来ていたからMythDora4.0を選択したといってもいい位です。

さて前置きはこれぐらいにして説明をしたいと思います。

MythStreamTVを開始するには、まずMythWebを起動します。
すると、StreamTVというメニューがありますのでクリックすると録画済みのリストとともにその一番左側にチェックボックスが表示されます。

で、ストリーミング再生を行いたい番組にチェックを入れて、画面下部のSelect a Recording & Continue
のボタンをクリックします。(チェックは複数選択出来ますが、恐らく最初の番組のみ有効になるようです。)

そうすると、何やらストーリミングのパラメータを色々設定する画面が表示されます。
まずはデフォルトのままでいいので、Start Live Streamのボタンを押下します。

今度は、MythStreamTV is now streaming your program.
という文字が表示された画面に遷移すると思います。

ここで注目してほしいのは、

Launch Stream: [mms://localhost:8001 | [http://localhost:8001]

の部分です。
(localhostの部分は、MythDoraをインストールする時の設定で変化します。ちゃんと設定していれば問題ありません。多分。汗。)
ストリーミングを行う際はWindowsからアクセスすることになることが多いので、localhostのままだとまずいわけです。
そこで、これを修正します。

・標準インストールの場合
[root@kororin default]# pwd
/var/www/html/mythweb/modules/streamtv/tmpl/default

・ユーザディレクトリの場合
[root@kororin default]# pwd
/home/hoge/public_html/mythweb/modules/streamtv/tmpl/default

以下のファイルを修正します。
[root@kororin default]# vi createfile.php
Launch Streamの部分を見つけたら「localhost」の部分を適切なIPアドレス等に修正してください。

次に、MythDoraのX画面上からFireWallの設定メニューを起動して、8001番ポートを許可するようにしてください。

最後に、番組の選択開始からやり直してMythStreamTV is now streaming your programのページまで
遷移したら、playボタンを押下して先ほど修正したリンクをクリックしてみましょう。
メディアプレーヤが起動して動画が再生出来たらOKです。

※補足1

画面上にStreaming is active!という文字が赤く点滅している場合があります。
この場合は、Stop Streamingボタンを2回ぐらい押下するといいです。
これにより、今まで動作していたストリーミングが停止するようです。

※補足2

ストリーミングに失敗する場合は、ログを見てみましょう。
ログはブラウザ上(Click Here To Refresh Log File Displayの下の部分)に表示されるほか、
以下のファイルにも出力されます。
/storage/mythstreamtv/log.txt

●MythFlashの設定(PART3)

前回の続きです。

MythWebを起動して、録画済のページを開きます。
録画済のサムネイル画像をクリックすると別ウィンドウが起動して動画が再生されたら成功です!

ちなみに、録画が終了してからmpgファイルがflvファイルに変換されますので、設定にもよりますが
録画終了から時間をおかないとまだファイルが出来ていないことがあります。
(MythWebのバックエンドステータスのJob Queueにflvファイルに変換中だとか
変換終了だとか失敗したとかの情報が表示されます。)

※補足

MythTVはもともと外国で開発されたので、録画したファイルのCMをスキップする
機能みたいなものがあるようです。
インストール後の標準の状態だと録画したファイルに対してCMのマーキング?をするように
設定されているらしく、flv変換が後回しにされるようです。
(なお、同時実行Job数も変更可能です。)
ですので、上記のCMのマーキング作業の設定を解除しておいたほうがいいです。
どこで解除したのかは失念してしまいましたが、それらしきものがあるはずです^^;
(海外での放送では検知出来ても日本じゃ無理だと思います。実際NGでした。)

さて、ここまで作業は終了です。
以下はお好みで設定してください。


■ファイルの自動削除の設定
(flvファイルの変換元のファイルが存在していなかったらflvファイルも削除するという設定です。)

[root@localhost ~]# cd /usr/local/bin
[root@localhost bin]# vi mythexpire.pl

#!/usr/bin/perl
#Checks the myth recording directory for .flv files that don't have a corresponding .mpg. If found, it deletes them.

#Change below to your myth recordings directory
$directory = "/storage/recordings";

foreach $f (<$directory/*>) {
if ( $f =~ /\.flv$/ )
{
$f =~ s/\.flv$//;
if (!( -e $f )) { `rm -f $f.flv`; };
}
}

[root@localhost bin]# chmod 755 mythexpire.pl
[root@localhost bin]# crontab -e
0 * * * * /usr/local/bin/mythexpire.pl

■ffmpegの設定の見直し

以前に設定した設定ですとはっきりいって画質が悪くてどうしようもなかったので設定を見直してみました。以下の設定ですと、原本の60%ぐらいのファイルサイズでflvファイルが作成されます。

ffmpeg -y -i $directory/$file -b 3000k -r 29.97 -vcodec flv -s 640x480 -ar 22050 -ac 1 -ab 24 $directory/$file.flv 1>/dev/null 2>/dev/null

参考までにMythDoraにインストールされているffmpegの情報をダンプしてみると・・・

[root@kororin bin]# ffmpeg -h
FFmpeg version SVN-r8743, Copyright (c) 2000-2007 Fabrice Bellard, et al.
configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --enable-shared --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-x11grab --enable-dc1394 --enable-liba52bin --enable-libdts --enable-libfaac --enable-libfaadbin --enable-libmp3lame --enable-libogg --enable-libtheora --enable-libvorbis --enable-xvid --extra-cflags=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables --disable-strip
libavutil version: 49.4.0
libavcodec version: 51.40.3
libavformat version: 51.12.1

Main options:
-L show license
-h show help
-version show version
-formats show available formats, codecs, protocols, ...
-f fmt force format
-i filename input file name
-y overwrite output files
-t duration set the recording time
-fs limit_size set the limit file size in bytes
-ss time_off set the start time offset
-itsoffset time_off set the input ts offset
-title string set the title
-timestamp time set the timestamp
-author string set the author
-copyright string set the copyright
-comment string set the comment
-album string set the album
-v verbose control amount of logging
-target type specify target file type ("vcd", "svcd", "dvd", "dv", "dv50", "pal-vcd", "ntsc-svcd", ...)
-dframes number set the number of data frames to record
-scodec codec force subtitle codec ('copy' to copy stream)
-newsubtitle add a new subtitle stream to the current output stream
-slang code set the ISO 639 language code (3 letters) of the current subtitle stream

Video options:
-vframes number set the number of video frames to record
-r rate set frame rate (Hz value, fraction or abbreviation)
-s size set frame size (WxH or abbreviation)
-aspect aspect set aspect ratio (4:3, 16:9 or 1.3333, 1.7777)
-croptop size set top crop band size (in pixels)
-cropbottom size set bottom crop band size (in pixels)
-cropleft size set left crop band size (in pixels)
-cropright size set right crop band size (in pixels)
-padtop size set top pad band size (in pixels)
-padbottom size set bottom pad band size (in pixels)
-padleft size set left pad band size (in pixels)
-padright size set right pad band size (in pixels)
-padcolor color set color of pad bands (Hex 000000 thru FFFFFF)
-vn disable video
-vcodec codec force video codec ('copy' to copy stream)
-sameq use same video quality as source (implies VBR)
-pass n select the pass number (1 or 2)
-passlogfile file select two pass log file name
-newvideo add a new video stream to the current output stream

Advanced Video options:
-pix_fmt format set pixel format
-intra use only intra frames
-vdt n discard threshold
-qscale q use fixed video quantizer scale (VBR)
-qdiff q max difference between the quantizer scale (VBR)
-rc_eq equation set rate control equation
-rc_override override rate control override for specific intervals
-me method set motion estimation method
-me_threshold motion estimaton threshold
-strict strictness how strictly to follow the standards
-deinterlace deinterlace pictures
-psnr calculate PSNR of compressed frames
-vstats dump video coding statistics to file
-vhook module insert video processing module
-intra_matrix matrix specify intra matrix coeffs
-inter_matrix matrix specify inter matrix coeffs
-top top=1/bottom=0/auto=-1 field first
-dc precision intra_dc_precision
-vtag fourcc/tag force video tag/fourcc
-qphist show QP histogram
-vbsf bitstream filter

Audio options:
-aframes number set the number of audio frames to record
-aq quality set audio quality (codec-specific)
-ar rate set audio sampling rate (in Hz)
-ac channels set number of audio channels
-an disable audio
-acodec codec force audio codec ('copy' to copy stream)
-vol volume change audio volume (256=normal)
-newaudio add a new audio stream to the current output stream
-alang code set the ISO 639 language code (3 letters) of the current audio stream

Advanced Audio options:
-atag fourcc/tag force audio tag/fourcc
-absf bitstream filter

Subtitle options:
-scodec codec force subtitle codec ('copy' to copy stream)
-newsubtitle add a new subtitle stream to the current output stream
-slang code set the ISO 639 language code (3 letters) of the current subtitle stream

Audio/Video grab options:
-vc channel set video grab channel (DV1394 only)
-tvstd standard set television standard (NTSC, PAL (SECAM))
-isync sync read on input

Advanced options:
-map file:stream[:syncfile:syncstream] set input stream mapping
-map_meta_data outfile:infile set meta data information of outfile from infile
-benchmark add timings for benchmarking
-dump dump each input packet
-hex when dumping packets, also dump the payload
-re read input at native frame rate
-loop_input loop (current only works with images)
-loop_output number of times to loop output in formats that support looping (0 loops forever)
-threads count thread count
-vsync video sync method
-async audio sync method
-vglobal video global header storage type
-copyts copy timestamps
-shortest finish encoding within shortest input
-dts_delta_threshold timestamp discontinuity delta threshold
-muxdelay seconds set the maximum demux-decode delay
-muxpreload seconds set the initial demux-decode delay
AVCodecContext AVOptions:
-b E.V.. set bitrate (in bits/s)
-ab E..A. set bitrate (in bits/s)
-bt E.V.. set video bitrate tolerance (in bits/s)
-flags EDVA.
mv4 E.V.. use four motion vector by macroblock (mpeg4)
obmc E.V.. use overlapped block motion compensation (h263+)
qpel E.V.. use 1/4 pel motion compensation
loop E.V.. use loop filter
gmc E.V.. use gmc
mv0 E.V.. always try a mb with mv=<0,0>
part E.V.. use data partitioning
gray EDV.. only decode/encode grayscale
psnr E.V.. error[?] variables will be set during encoding
naq E.V.. normalize adaptive quantization
ildct E.V.. use interlaced dct
low_delay EDV.. force low delay
alt E.V.. enable alternate scantable (mpeg2/mpeg4)
trell E.V.. use trellis quantization
bitexact EDVAS use only bitexact stuff (except (i)dct)
aic E.V.. h263 advanced intra coding / mpeg4 ac prediction
umv E.V.. use unlimited motion vectors
cbp E.V.. use rate distortion optimization for cbp
qprd E.V.. use rate distortion optimization for qp selection
aiv E.V.. h263 alternative inter vlc
slice E.V..
ilme E.V.. interlaced motion estimation
scan_offset E.V.. will reserve space for svcd scan offset user data
cgop E.V.. closed gop
-me_method E.V.. set motion estimation method
-g E.V.. set the group of picture size
-cutoff E..A. set cutoff bandwidth
-frame_size E..A.
-qcomp E.V.. video quantizer scale compression (VBR)
-qblur E.V.. video quantizer scale blur (VBR)
-qmin E.V.. min video quantizer scale (VBR)
-qmax E.V.. max video quantizer scale (VBR)
-qdiff E.V.. max difference between the quantizer scale (VBR)
-bf E.V.. use 'frames' B frames
-b_qfactor E.V.. qp factor between p and b frames
-rc_strategy E.V.. ratecontrol method
-b_strategy E.V.. strategy to choose between I/P/B-frames
-hurry_up .DV..
-ps E.V.. rtp payload size in bits
-bug .DV.. workaround not auto detected encoder bugs
autodetect .DV..
old_msmpeg4 .DV.. some old lavc generated msmpeg4v3 files (no autodetection)
xvid_ilace .DV.. Xvid interlacing bug (autodetected if fourcc==XVIX)
ump4 .DV.. (autodetected if fourcc==UMP4)
no_padding .DV.. padding bug (autodetected)
amv .DV..
ac_vlc .DV.. illegal vlc bug (autodetected per fourcc)
qpel_chroma .DV..
std_qpel .DV.. old standard qpel (autodetected per fourcc/version)
qpel_chroma2 .DV..
direct_blocksize .DV.. direct-qpel-blocksize bug (autodetected per fourcc/version)
edge .DV.. edge padding bug (autodetected per fourcc/version)
hpel_chroma .DV..
dc_clip .DV..
ms .DV.. workaround various bugs in microsofts broken decoders
-lelim E.V.. single coefficient elimination threshold for luminance (negative values also consider dc coefficient)
-celim E.V.. single coefficient elimination threshold for chrominance (negative values also consider dc coefficient)
-strict .DVA. how strictly to follow the standards
very E.V.. strictly conform to a older more strict version of the spec or reference software
strict E.V.. strictly conform to all the things in the spec no matter what consequences
normal E.V..
inofficial E.V.. allow inofficial extensions
experimental E.V.. allow non standardized experimental things
-b_qoffset E.V.. qp offset between p and b frames
-er .DVA. set error resilience strategy
careful .DV..
compliant .DV..
aggressive .DV..
very_aggressive .DV..
-mpeg_quant E.V.. use MPEG quantizers instead of H.263
-qsquish E.V.. how to keep quantizer between qmin and qmax (0 = clip, 1 = use differentiable function)
-rc_qmod_amp E.V.. experimental quantizer modulation
-rc_qmod_freq E.V.. experimental quantizer modulation
-rc_eq E.V.. set rate control equation
-maxrate E.V.. set max video bitrate tolerance (in bits/s)
-minrate E.V.. set min video bitrate tolerance (in bits/s)
-bufsize E.V.. set ratecontrol buffer size (in bits)
-rc_buf_aggressivity E.V.. currently useless
-i_qfactor E.V.. qp factor between p and i frames
-i_qoffset E.V.. qp offset between p and i frames
-rc_init_cplx E.V.. initial complexity for 1-pass encoding
-dct E.V.. DCT algorithm
auto E.V.. autoselect a good one (default)
fastint E.V.. fast integer
int E.V.. accurate integer
mmx E.V..
mlib E.V..
altivec E.V..
faan E.V.. floating point AAN DCT
-lumi_mask E.V.. compresses bright areas stronger than medium ones
-tcplx_mask E.V.. temporal complexity masking
-scplx_mask E.V.. spatial complexity masking
-p_mask E.V.. inter masking
-dark_mask E.V.. compresses dark areas stronger than medium ones
-idct EDV.. select IDCT implementation
auto EDV..
int EDV..
simple EDV..
simplemmx EDV..
libmpeg2mmx EDV..
ps2 EDV..
mlib EDV..
arm EDV..
altivec EDV..
sh4 EDV..
simplearm EDV..
simplearmv5te EDV..
h264 EDV..
vp3 EDV..
ipp EDV..
xvidmmx EDV..
-ec .DV.. set error concealment strategy
guess_mvs .DV.. iterative motion vector (MV) search (slow)
deblock .DV.. use strong deblock filter for damaged MBs
-pred E.V.. prediction method
left E.V..
plane E.V..
median E.V..
-aspect E.V.. sample aspect ratio
-debug EDVAS print specific debug info
pict .DV.. picture info
rc E.V.. rate control
bitstream .DV..
mb_type .DV.. macroblock (MB) type
qp .DV.. per-block quantization parameter (QP)
mv .DV.. motion vector
dct_coeff .DV..
skip .DV..
startcode .DV..
pts .DV..
er .DV.. error resilience
mmco .DV.. memory management control operations (H.264)
bugs .DV..
vis_qp .DV.. visualize quantization parameter (QP), lower QP are tinted greener
vis_mb_type .DV.. visualize block types
-vismv .DV.. visualize motion vectors (MVs)
pf .DV.. forward predicted MVs of P-frames
bf .DV.. forward predicted MVs of B-frames
bb .DV.. backward predicted MVs of B-frames
-mb_qmin E.V.. obsolete, use qmin
-mb_qmax E.V.. obsolete, use qmax
-cmp E.V.. full pel me compare function
sad E.V.. sum of absolute differences, fast (default)
sse E.V.. sum of squared errors
satd E.V.. sum of absolute Hadamard transformed differences
dct E.V.. sum of absolute DCT transformed differences
psnr E.V.. sum of squared quantization errors (avoid, low quality)
bit E.V.. number of bits needed for the block
rd E.V.. rate distortion optimal, slow
zero E.V.. 0
vsad E.V.. sum of absolute vertical differences
vsse E.V.. sum of squared vertical differences
nsse E.V.. noise preserving sum of squared differences
w53 E.V.. 5/3 wavelet, only used in snow
w97 E.V.. 9/7 wavelet, only used in snow
dctmax E.V..
chroma E.V..
-subcmp E.V.. sub pel me compare function
sad E.V.. sum of absolute differences, fast (default)
sse E.V.. sum of squared errors
satd E.V.. sum of absolute Hadamard transformed differences
dct E.V.. sum of absolute DCT transformed differences
psnr E.V.. sum of squared quantization errors (avoid, low quality)
bit E.V.. number of bits needed for the block
rd E.V.. rate distortion optimal, slow
zero E.V.. 0
vsad E.V.. sum of absolute vertical differences
vsse E.V.. sum of squared vertical differences
nsse E.V.. noise preserving sum of squared differences
w53 E.V.. 5/3 wavelet, only used in snow
w97 E.V.. 9/7 wavelet, only used in snow
dctmax E.V..
chroma E.V..
-mbcmp E.V.. macroblock compare function
sad E.V.. sum of absolute differences, fast (default)
sse E.V.. sum of squared errors
satd E.V.. sum of absolute Hadamard transformed differences
dct E.V.. sum of absolute DCT transformed differences
psnr E.V.. sum of squared quantization errors (avoid, low quality)
bit E.V.. number of bits needed for the block
rd E.V.. rate distortion optimal, slow
zero E.V.. 0
vsad E.V.. sum of absolute vertical differences
vsse E.V.. sum of squared vertical differences
nsse E.V.. noise preserving sum of squared differences
w53 E.V.. 5/3 wavelet, only used in snow
w97 E.V.. 9/7 wavelet, only used in snow
dctmax E.V..
chroma E.V..
-ildctcmp E.V.. interlaced dct compare function
sad E.V.. sum of absolute differences, fast (default)
sse E.V.. sum of squared errors
satd E.V.. sum of absolute Hadamard transformed differences
dct E.V.. sum of absolute DCT transformed differences
psnr E.V.. sum of squared quantization errors (avoid, low quality)
bit E.V.. number of bits needed for the block
rd E.V.. rate distortion optimal, slow
zero E.V.. 0
vsad E.V.. sum of absolute vertical differences
vsse E.V.. sum of squared vertical differences
nsse E.V.. noise preserving sum of squared differences
w53 E.V.. 5/3 wavelet, only used in snow
w97 E.V.. 9/7 wavelet, only used in snow
dctmax E.V..
chroma E.V..
-dia_size E.V.. diamond type & size for motion estimation
-last_pred E.V.. amount of motion predictors from the previous frame
-preme E.V.. pre motion estimation
-precmp E.V.. pre motion estimation compare function
sad E.V.. sum of absolute differences, fast (default)
sse E.V.. sum of squared errors
satd E.V.. sum of absolute Hadamard transformed differences
dct E.V.. sum of absolute DCT transformed differences
psnr E.V.. sum of squared quantization errors (avoid, low quality)
bit E.V.. number of bits needed for the block
rd E.V.. rate distortion optimal, slow
zero E.V.. 0
vsad E.V.. sum of absolute vertical differences
vsse E.V.. sum of squared vertical differences
nsse E.V.. noise preserving sum of squared differences
w53 E.V.. 5/3 wavelet, only used in snow
w97 E.V.. 9/7 wavelet, only used in snow
dctmax E.V..
chroma E.V..
-pre_dia_size E.V.. diamond type & size for motion estimation pre-pass
-subq E.V.. sub pel motion estimation quality
-me_range E.V.. limit motion vectors range (1023 for DivX player)
-ibias E.V.. intra quant bias
-pbias E.V.. inter quant bias
-coder E.V..
vlc E.V.. variable length coder / huffman coder
ac E.V.. arithmetic coder
raw E.V.. raw (no encoding)
rle E.V.. run-length coder
deflate E.V.. deflate-based coder
-context E.V.. context model
-mbd E.V.. macroblock decision algorithm (high quality mode)
simple E.V.. use mbcmp (default)
bits E.V.. use fewest bits
rd E.V.. use best rate distortion
-sc_threshold E.V.. scene change threshold
-lmin E.V.. min lagrange factor (VBR)
-lmax E.V.. max lagrange factor (VBR)
-nr E.V.. noise reduction
-rc_init_occupancy E.V.. number of bits which should be loaded into the rc buffer before decoding starts
-inter_threshold E.V..
-flags2 EDVA.
fast E.V.. allow non spec compliant speedup tricks
sgop E.V.. strictly enforce gop size
noout E.V.. skip bitstream encoding
local_header E.V.. place global headers at every keyframe instead of in extradata
bpyramid E.V.. allows B-frames to be used as references for predicting
wpred E.V.. weighted biprediction for b-frames (H.264)
mixed_refs E.V.. one reference per partition, as opposed to one reference per macroblock
dct8x8 E.V.. high profile 8x8 transform (H.264)
fastpskip E.V.. fast pskip (H.264)
aud E.V.. access unit delimiters (H.264)
brdo E.V.. b-frame rate-distortion optimization
skiprd E.V.. RD optimal MB level residual skipping
ivlc E.V.. intra vlc table
drop_frame_timecode E.V..
non_linear_q E.V.. use non linear quantizer
-error E.V..
-antialias .DV.. MP3 antialias algorithm
auto .DV..
fastint .DV..
int .DV..
float .DV..
-qns E.V.. quantizer noise shaping
-threads EDV..
-mb_threshold E.V.. macroblock threshold
-dc E.V.. intra_dc_precision
-nssew E.V.. nsse weight
-skip_top .DV.. number of macroblock rows at the top which are skipped
-skip_bottom .DV.. number of macroblock rows at the bottom which are skipped
-profile E.VA.
unknown E.VA.
-level E.VA.
unknown E.VA.
-lowres .DV.. decode at 1= 1/2, 2=1/4, 3=1/8 resolutions
-skip_threshold E.V.. frame skip threshold
-skip_factor E.V.. frame skip factor
-skip_exp E.V.. frame skip exponent
-skipcmp E.V.. frame skip compare function
sad E.V.. sum of absolute differences, fast (default)
sse E.V.. sum of squared errors
satd E.V.. sum of absolute Hadamard transformed differences
dct E.V.. sum of absolute DCT transformed differences
psnr E.V.. sum of squared quantization errors (avoid, low quality)
bit E.V.. number of bits needed for the block
rd E.V.. rate distortion optimal, slow
zero E.V.. 0
vsad E.V.. sum of absolute vertical differences
vsse E.V.. sum of squared vertical differences
nsse E.V.. noise preserving sum of squared differences
w53 E.V.. 5/3 wavelet, only used in snow
w97 E.V.. 9/7 wavelet, only used in snow
dctmax E.V..
chroma E.V..
-border_mask E.V.. increases the quantizer for macroblocks close to borders
-mblmin E.V.. min macroblock lagrange factor (VBR)
-mblmax E.V.. max macroblock lagrange factor (VBR)
-mepc E.V.. motion estimation bitrate penalty compensation (1.0 = 256)
-bidir_refine E.V.. refine the two motion vectors used in bidirectional macroblocks
-brd_scale E.V.. downscales frames for dynamic B-frame decision
-crf E.V.. enables constant quality mode, and selects the quality (x264)
-cqp E.V.. constant quantization parameter rate control method
-keyint_min E.V.. minimum interval between IDR-frames (x264)
-refs E.V.. reference frames to consider for motion compensation (Snow)
-chromaoffset E.V.. chroma qp offset from luma
-bframebias E.V.. influences how often B-frames are used
-trellis E.VA. rate-distortion optimal quantization
-directpred E.V.. direct mv prediction mode - 0 (none), 1 (spatial), 2 (temporal)
-complexityblur E.V.. reduce fluctuations in qp (before curve compression)
-deblockalpha E.V.. in-loop deblocking filter alphac0 parameter
-deblockbeta E.V.. in-loop deblocking filter beta parameter
-partitions E.V.. macroblock subpartition sizes to consider
parti4x4 E.V..
parti8x8 E.V..
partp4x4 E.V..
partp8x8 E.V..
partb8x8 E.V..
-sc_factor E.V.. multiplied by qscale for each frame and added to scene_change_score
-mv0_threshold E.V..
-b_sensitivity E.V.. adjusts sensitivity of b_frame_strategy 1
-compression_level E.VA.
-use_lpc E..A. sets whether to use LPC mode (FLAC)
-lpc_coeff_precision E..A. LPC coefficient precision (FLAC)
-min_prediction_order E..A.
-max_prediction_order E..A.
-prediction_order_method E..A. search method for selecting prediction order
-min_partition_order E..A.
-max_partition_order E..A.
-timecode_frame_start E.V.. GOP timecode frame start number, in non drop frame format
AVFormatContext AVOptions:
-probesize .D...
-muxrate E.... set mux rate
-packetsize E.... set packet size
-fflags ED...
ignidx .D... ignore index
genpts .D... generate pts
-track E.... set the track number
-year E.... set the year
-analyzeduration .D... how many microseconds are analyzed to estimate duration

2008年05月04日

●MythFlashの設定(PART2)

前回の続きで作業をしていきます。

■recorded.phpファイルの修正を行います。>
(事前にバックアップをしておいてくださいね♪)

・標準インストールの場合
vi /var/www/html/mythweb/modules/tv/tmpl/default/recorded.php

・ユーザディレクトリにインストールの場合
vi /home/hoge/public_html/mythweb/modules/tv/tmpl/default/recorded.php

echo "<a href=\"$show->url\" name=\"$row\">"を以下の様に修正します
・標準インストールの場合
echo '<a href="/mythweb/data/flvplayer.swf?file=/mythweb/data/recordings/'.basename($show->filename).".flv\" name=\"$row\" target=\"_new\">"

・ユーザディレクトリにインストールの場合
echo '<a href="/~hoge/mythweb/data/flvplayer.swf?file=/~hoge/mythweb/data/recordings/'.basename($show->filename).".flv\" name=\"$row\" target=\"_new\">"


■ffmpegの動作確認を行います。

前回のシェルスクリプトの中に記述したコマンドが正常に動作するか念のため確認を行います。
まず、番組はなんでもいいので録画してください。
録画したら以下のコマンドを実行します。

[root@kororin default]# cd /tmp
[root@kororin tmp]# pwd
/tmp
[root@kororin tmp]# ffmpeg -y -i /storage/recordings/1000_20080209233100.mpg -r 20 -s 300x200 -deinterlace -ar 22050 /storage/recordings/1000_20080209233100.mpg.flv

※1000_20080209233100.mpg は、録画済のファイル名になります。置き換えてください。
※/storage/recordingsは標準の録画ファイル保存場所です。設定を変更している場合は置き換えてください。

コマンドを実行して、エラーとかで落ちずに1000_20080209233100.mpg.flvが作成されることを確認してください。(ある程度動作することを確認したら終了してください。)
MythDoraをインストールするとffmpegは自動でインストールされるので特にここで問題が発生することは
無いとは思います。

■MythTVの設定を変更します。

最初にmythtv-setupを起動して一般を選択します。
(はっきりとはわからないのですが、mythtv-setupを起動する前にmythbackendは終了しておいた方がいいかもしれません。)

 ・ジョブキュー#1を有効にします。
 ・ジョブキュー#1にに以下を追加します。
 /usr/local/bin/mythflash.sh "%DIR%" "%FILE%"
 ( タイトルは適当につけてください。私は、MythFlashにしています。 )

もしも、mythbackendが起動させていないのならこのタイミングで起動してください。

最後にmythfrontendで設定→設定→TV設定→一般に移動して
ユーザージョブキュー#1を録画時に実行にするようにしてください。

ここまで設定が終了したら後は番組を録画して動作確認を行います。
続きは次回に。


●MythFlashの設定(PART1)

さて、前回まででハードディスクレコーダ的に使えるようになったMythDora4.0 日本語版ですが、まだまだ色々機能があったので纏めようと思います。

で、今回は「MythFlash」について書いてみます。
「MythFlash」とは、MythWebにアドオン出来る機能でして、録画した動画をflvファイル(ニコニコ動画とかyoutubeでお馴染みのフォーマットです。)に変換してブラウザで再生可能にします。
以下に手順を示します。

■rubyのインストールを行います。
[root@localhost bin]# cd /usr/local/src
ruby-1.8.6-p111.tar.gz をダウンロードします。
[root@localhost src]# wget ftp://core.ring.gr.jp/pub/lang/ruby/1.8/ruby-1.8.6-p111.tar.gz
[root@localhost src]# tar zxvf ruby-1.8.6-p111.tar.gz
[root@localhost src]# cd ruby-1.8.6-p111
[root@localhost src]# ./configure
[root@localhost src]# make
[root@localhost src]# make install

■続いてスクリプトのインストールを行います。

[root@localhost data]# cd /usr/local/bin
[root@localhost bin]# pwd
/usr/local/bin

mythflash.shというシェルスクリプトを作成します。

[root@localhost bin]# vi mythflash.sh


#!/bin/sh

directory=$1;
file=$2;

# Create the flash video (flv) file with a frame rate of 20fps, resolution of 300x200
# deinterlace the video and set an apropriate audio sample rate
ffmpeg -y -i $directory/$file -r 20 -s 300x200 -deinterlace -ar 22050 $directory/$file.flv 1>/dev/null 2>/dev/null

# Add metadata to file file (optional)
cat $directory/$file.flv | flvtool2 -U stdin $directory/$file.flv

※補足
現在、cat $directory/$file.flv | flvtool2 -U stdin $directory/$file.flv
はコメントにしてあります。
(flvファイルは作成されるのですが、エラーが出ていたので外しました。)

保存したら権限を与えておきます。

[root@localhost bin]# chmod 755 mythflash.sh

■flvtool2のインストールを行います。

[root@localhost bin]# cd /usr/local/bin
[root@localhost bin]# wget http://rubyforge.org/frs/download.php/17497/flvtool2-1.0.6.tgz
[root@localhost bin]# tar zxvf flvtool2-1.0.6.tgz
[root@localhost bin]# cd flvtool2-1.0.6
[root@localhost bin]# ruby setup.rb config
[root@localhost bin]# ruby setup.rb setup
[root@localhost bin]# ruby setup.rb install

■swfのインストールを行います。

インストール先は、ご使用の環境にあわせてください。

・標準の場合
[root@localhost mythweb]# cd /var/www/html/mythweb/data
[root@localhost data]# pwd
/var/www/html/mythweb/data

・ユーザディレクトリの場合
[root@kororin modules]# cd /home/hoge/public_html/mythweb/data/
[root@localhost data]# pwd
/home/hoge/public_html/mythweb/data/

[root@localhost data]# wget http://pyg.keonox.com/tests/flash_flv_player/flvplayer.swf
[root@localhost data]# chown apache:apache flvplayer.swf
[root@localhost data]# chmod 755 flvplayer.swf

続きは次回に。