My Soundcloud Channel --- Testing :D

Sunday, September 30, 2007

今日のffmpegでニコニコ動画用エンコのナゾ

YouTubeが火を付けた視聴者投稿型オンラインオンデマンド動画配信サービス...というか、動画サイトでるが、YouTubeを始め大小多数のサイトが乱立している状況になっているが、日本ではニコニコ動画というのが人気らしい、と思ったら、このニコニコ利用者は国内のYouTube利用者を越えたらしい。YouTubeその他と違ってサイト内の閲覧はアカウントが必要という事なのだが、最近いろんな所にリンクが貼られていたりして、それらを見られないのもなんだかな、と言う事でアカウントを取ってみたりしていた。

で、見るのはともかく、upする場合はどうなのだろうか、と言う事もあってこんなまとめサイト を参考にしながら実験してみたので、現時点で気がついた事、まとめをメモとして書いておこうと思う。もちろんLinuxで動画をエンコしてupするのが前提である。

あくまで、主にffmpegの使い方の自分用メモなのでそのつもりで...
---
  • ニコニコはYouTubeと同様 Flashのプレーヤーで動画配信するので、配信される動画フォーマットはflvである。
  • 今のところニコニコのflvの画像サイズは 512 x 384 である。
  • ニコニコは、mpg, mp4, aviなど複数のフォーマットに対応しており、何を投げてもニコニコ側のサーバーで 512 x 384 の flvにリサイズ、再エンコードされる。
  • 試しに mp4などをupしてみたが、非常にブロックノイズの目立つ、荒い動画に変換されてしまった。
  • どうもニコニコ側でリサイズ、再エンコがかかると、場合によってはYouTubeもびっくりの低画質になってしまう。
  • なので、あらかじめ512x384にリサイズしたファイルをupするのが良さそうである。
  • 高画質を狙うなら VP6 2pass で flv4 にエンコするのがよいらしい...がなんのこっちゃ?
  • flvをupする場合、そのビットレートは 600kbps (max 650k ?) が最大で、それを越えるとニコニコ側のエンコードで弾かれる。flvの場合はファイルサイズ制限40MBというのもある。
  • Linuxでも ffmpegで各種動画ファイルを直接flv (flv1)に変換できるので、これを使ってみる。
---
と言う事で以下 ffmpegの 使い方の例


元ファイル音声が mp3でレート等に問題なければそのまま copyで使える。

ffmpeg -i test21.avi -vcodec flv -b 500k -r 24 -s 512x384 -acodec copy test21.flv


単純なflv変換; あらかじめ avidemuxとかで編集してリサイズを済ませておくと楽かも。

ffmpeg -i test9.avi -vcodec flv -r 24 -b 400k -ab 128k test9.flv

音声は44.1k とか 22.05kとかでないとflvにならない様だ。 音声と映像のレートの合計を600k未満にする必要がある。 ffmpegはデフォルトで -b と -ab を設定しないとえらく低ビットレートになって画像音声共に不満足な結果になる。 -r は、まぁ 15とかでもさほど問題ないかもしれない... -ab 128ってのは音質優先、音がどうでもよければもっと下げて -bの数値を上げる。

ffmpeg -i test9.avi -vcodec flv -r 24 -b 400k -acodec mp3 -ab 128k test9.flv

とでもよいのか。 元ファイルが mp3で そっくりそのまま使うなら -acodec copy でもよい。

320x240、デジカメの動画サイズ、YouTubeサイズをupする場合、 そのまま512x384にリサイズしてもよいのだけど、やはりちょっと粗が目立つ。そういう場合は元の大きさのまま黒枠、ブランクを入れてやると動画にリサイズがかからないから劣化が目立たない。 -s オプションで元のままのサイズを指定して、-padtop -padbottom -padleft -padright で 512x384に満たない部分を埋めてやるわけである。

16:9な元ファイルだとこうなる

ffmpeg -i test23.avi -vcodec flv -b 500k -r 24 -s 512x288 -padtop 48 -padbottom 48 -acodec mp3 -ab 128k test23.flv

-b 500k ってのは微妙で、 -ab 128k と組み合わせると600kを越える... 場合によってはダメかも。

YouTubeサイズに黒枠を付加して別に編集した wav音声をlameでmp3に変換しておいてから合わせて flvに出力する...

ffmpeg -i onsei.mp3 -i douga.avi -vcodec flv -b 450 -r 24 -s 320x240 -padtop 72 -padbottom 72 -padleft 96 -padright 96 -acodec copy test25.flv

---
で、こうやって ffmpegで flvに変換してニコニコにupしてみると、確かに aviをそのままupするより綺麗にはなる...が、 600k というビットレートだとやはり 早い部分、細かい部分でかなり荒れてしまうのは避けられない。 まあしかし、遊びで使うぐらいなら、この程度でよいか、とも思う。

びっくりする程綺麗な動画を見る事もあるが、とてもかなわない。あれはやはりflv4とか、エンコの方法が違う、のだろう。linux上でああいう高画質をどうやって実現できるのか、はよくわからない。mencoder使えば出来る?
---
という事でupdateを...Debianでマルチメディア系を使うに当たって避けて通れない定番パッケージ群のおいてある..

http://www.debian-multimedia.org/

ここのmencoderを入れてみた...けど、mencoder 最大の欠点...オプションその他が多過ぎ、複雑過ぎてわけがわからん!...いちおう vp6のflv の 1passは出来た、けど画面下に緑の筋が入る、とか、エンコがやたら遅い、とか画質も良くない!...と言う事になった。2passにすれば改善はするのだろうけど、やりかたわからん... 比較してみると、 ffmpegで2passは簡単だしエンコ時間も1passあたりほぼ動画の実時間よりちょっと少ない、ぐらいなので、無理にmencoder使うこともなさそう、と言うのが今の所得られた感触だ。 正直mencoderはよくわからん。 あと非公式パッケージを入れたらライブラリー類がいくつか入れ替わって...その影響か、ffmpegがうまく動かなくなって..結局ffmpegも上記の非公式版に入れ替えるはめになってしまった... もっとも Sarge時代から引き継いでる DVDそのたの関係で 非公式パッケージも部分的に入り込んでるわけで、いまさら純潔を守れるはずもない...

と言う事で、今のところ、 音声128kb 映像500kb ぐらいで、15fps、ffmpeg 2passで flv1でのエンコが音質画質での妥協点かなぁ...( 元々 どんな形式使っても600kbってのはかなりつらい...最低1000kぐらい欲しい)

Tuesday, September 18, 2007

今日の超望遠レンズ撮影のナゾ

ナゾと言う程の事ではないが
デジカメ + 双眼鏡 で超望遠撮影が簡単に出来るという例をupしてみた...






昨日何の気無しに利根川方面を散歩してたのだが、その時に撮ってみた。
前半はIXY500の素のまま、後半は双眼鏡使用時である。

Kowa 8x25DCF 双眼鏡の接眼レンズにIXY500のレンズをあてがって... いわゆるコリメート撮影と言う奴。 手持ちなので、とても不安定でピントや光軸合わせもままならない...ちょっとケラれてる... いいかげんだけど、デジカメのオマケ動画の画質程度なら十分って感じで撮れる...意外と実用になる。

ちなみに通常時のIXY500のレンズはテレ端で22.2mmで35mmフィルムカメラ換算で108mmというスペックなので、8倍の双眼鏡と組み合わせると... 約860mm相当の超望遠レンズになるわけである...

Saturday, September 15, 2007

今日のLogitech MX620不具合のナゾ

先日購入したワイヤレスマウス Logitech ( Logicool ) MX620を



VX Revolution & MX620

毎日職場で使っていたのであるが、早くもホイールの動きが悪くなって来てしまった。ホイール一回転360度のうち、60度ぐらいだろうか、非常に抵抗分が大きく、売りのコマの様に回転が持続するフリースピンモードにしても回転が持続しなくなったのだ。気がついたのが先週末だから購入後二週位でこのありさま。普段フリースピンでは使わないのでどうって事ないのであるが、クリック感のあるモードでもこの抵抗感が感じられ、元々の軽快感が無くなってしまった。昨年買ったVX Revolutionのホイールは一年近く経った今でも新品同様に動作している...から、これは初期不良なのだろうか?



と言う事で本日購入店へ出向くと、あっさり交換となった。

で、交換された新品のMX620のホイールの回転を、改めて VX Revolutionと比べてみたのだが、MX620は回転のガタつき、というか回転時の回転ノイズがVX Revolutionに比してかなり大きい事が分かった。VX Revolutionは非常に静かに回転し、ノイズが少ない。耳をあててみてもヒュイィーんと小さい音がかすかに聞こえるだけなのだが、MX620の方はカタコトカタカタとノイズ音が大きいのである。音が大きいという事は回転エネルギーにロスが生じている、という事で回転持続、連続スクロール距離もVXに比べると劣る、触り心地も若干抵抗感がつよい"気"がする....回転バランスなのか、回転機構の精度が悪いのか、見た目は全く同じホイールであっても全然違う、と言う事が分かった。

これがこの個体のみの問題なのか、ロット性があるのか、MX620として標準なのか(廉価版という事でVXに比べて精度を落としている?) 、どういう理由なのかわからないけれど、軸受回りの精度に問題がある事は確かな様だ。 そしてこのカタカタ言う様子を見ていると、今回がたまたま、なのではなく、再度同じ事がおこりそうな予感がする...のだが、まぁしばらく使って様子を見る事にするしかないですな...

と言う事で、再度不具合が発生したら同様にレポートしてみたいと思う....

---
ホイールに問題が出た以外はおおむね気に入って使っているのだが、単三電池二本を使うと言う事でマウスとしての軽快感はVXに比べて劣る気がする、と言うか、はっきり言って重たいのだ。大きさも自分の手にはVXの方が合ってる気がする...サイドにあるボタンはVXより押しやすい...

ちょっとした事であるが、マウス選びって結構難しいものですな。実際使ってみなけりゃわからない... 無いと困るものだから、今回の様に不具合出て修理だの交換って一々面倒くさいし、かと言って捨てて買い替えるのは躊躇せざるを得ない貧乏人には微妙に高価な値段(6000円弱)であるし...

少々高価になっても耐久性や精度を上げて短期的に絶対壊れない、劣化しないものを作って欲しいな、とも思うね... 紙とペンで仕事をしなくなって久しいけれど、PCとマウスは紙とペンの置き換えと考えると、ちょっといい万年筆を長く愛用する、という感じで使いやすくて品質がよくて壊れないちょっとよいマウスってのが欲しいところだ...


---追補---
その後症状が再発...

不具合の原因はホイールに巻かれているゴム部品が伸びて干渉する事が原因と判明...

使い続けると最後にはホイールがまともに使用できなくなる

Friday, September 07, 2007

今日のICアンプのナゾ:台風上陸記念スペシャル

台風接近中と言うことで早く帰宅して暇だったので書き散らしてみる事にする。
---
Jeff Rowland といふ 高級オーディオメーカのパワーアンプの出力段にNational Semiconductorの一ヶ2ドルのパワーアンプICが方チャンネル6ケ、だったか、計1ダース使われているらしい...と言う事を知った時はちょっとした衝撃だった。しかしそれが意外と結構評判がよいらしい。結局アンプなんてある程度の性能が出てればなんだってかまやしないのではないか、という気もする。 前後して、Tripathの1chipデジタルアンプICを用いたアンプ基板キットを組んで、それが自分的に驚きの音質であったので、元々希薄であったオーディオ関連商品に対する興味が、なお一層無くなってしまった。王侯貴族や石油王が買うようなハイエンド商品は、そもそも失業したら路頭に迷う様なサラリーマンが買う類の商品ではないわけであるし、100万円のアンプの中身がICであるとか、100万円のディスクリート構成の高級アンプが1万円の安物デジタルアンプにブラインドテストで負けた、なんて記事をどこかで読んだりしてるうちに、結局アンプは工学的にアンプであれば何だって構わない、ICアンプだって十分に音楽が楽しめるという確信を強くしたわけである。
---
Philips の TDA1552 と言う、ちょっと古い品種だけれど、20W2ch BTLのB級アンプがあるのだけれど、これは外付部品が入力のカップリングおよび電源のパスコンぐらいしかない、という代物で、つまり簡単にステレオアンプが作れてしまうわけで、結構人気がある様である。 音質も悪くないと思う...と言うのはこのICは 昔パソコン用に買った JBLのMedia3というアクティブスピーカーに使われていて、これが安物のくせに癖がなくけっこういける音質...と私自身知らずに使っていたのである。( chセパレーションとかPSRRのスペックがあまり良くないけど、これはVref端子が外に出てなくて容量で接地出来ないから..? ケミコン一個減らす為...?? あるいみ潔いのかな)

でこのICを使った自作が流行っていたり、このICを使ってアンプを作るマニュアル本が出てたりしている。そのマニュアル本を見て...びっくりしたのが、いきなり初心者に 空中配線をやらせるという著者の意識レベルである。人にモノを教えて、本を売って金をとるという行為は"プロ"の仕事と言って良いと思うが、そのプロが素人に一般的にプロは絶対にやらない、やってはならない 空中配線をやらせる... のはプロ意識の欠如ではないか、と思う。ああいう実装方法はアマチュア的であって、"本当はいけないのだけれど、自分で使うだけだから目をつむる" というレベルのモノなのだ。あるいは プロもやる事のだが、あれこれ試行錯誤をする"ブレッドボード"の作り方だ。ブレッドボードはあくまで実験用に作るもので配線や部品の切り貼りを行うからプリントパターンなど起こせない、だから空中配線...となるわけで、本来趣味で作るものであっても実用に供するモノに応用してはいけない実装方法なのだ。初めてハンダごてを握る純真無垢な人になんという事を教えるのだろうか... 空中配線なんてやらなくて済むならやらない方がよいのに...

出版するという事は少なくても数千部は出るのだろうから、だったらPCB起こして付録にしてもたいしたコストは掛からないだろうに、ICだって数千個単位ならかなり安く仕入れられるだろうから基板+ICが付録で 500~1000円 upぐらいにできるのでは... 大人の科学の学研がやれば絶対に出来るぞ...なんて どうでもよいお節介を妄想してしまう...

---
まぁともかく、かくも左様にICアンプの自作記事なんかがネットに色々上がったり、先の様な書籍が出版されたりと、なかなか面白い傾向であるなぁ、と眺めていたのであるが、一方、やはりICというモノの原理とか本質はなかなか理解されていないものだなぁ、という記事や掲示板の書き込みに出会うこともままあるわけである。考えてみるとICを使った事がある人、見た事がある人は多いだろうけど、その中身が実際にどうなっているのか、知っている人、見た事がある人はほとんど居ないのだろう。知らないから正しい知識もないわけで、元々がブラックボックスだから勝手な想像をするしかないわけで いい加減な事を実施したり、それを他人に吹聴している...という感じなのであろう、と思う。

でまぁ、そういう無知な人にICアンプの中はこうなっているのだよ! と簡単簡潔に説明 するには.. どうしたらよいか...なんて事をちょっと考えてみたのである。 とりあえず 紙にアイデアを書いてみて .... 挫折した ^^;) 分からない人に分からせるのはやはり難しいし、紙に一枚二枚の図面じゃ説明できないのは自明だし、まじめにやったら本になっちゃうし、本書く程パワーないし..

と言う事で、簡潔にまとめるとか、図を清書するとかは止めにするけれども、一応スケッチと要点をあげておく事はしておこう、と思う。

---
--- INSIDE THE POWER AMP IC ---


スケッチ、といより落書きだなこりゃ ^^;)


  • ICの心臓、シリコンチップは リードフレームの中央の アイランドと呼ばれる金属板に接着され (パワー系のICはハンダでつけます...小信号のものは銀ペースト) チップ上のボンディングパッド と フレームのリード部の間を 金線で接続して導通をとる。それを モールド樹脂で固めて、リードに滅金をかけたり足を切り離したり曲げたりして、あのICの形にするわけですね。 あとパワー系のICはたいてい放熱用の金属板が付加されている。スケッチは TDA1552のピン配置を参考に、たぶんこんな風になってるはず、という想像図で、当たらずとも遠からず、なはずです。写真探してみたけど無いし(あたりまえか...) さりとて自分が関係した某機種の図面出す訳にもいかないから(守秘義務違反...) いい加減なスケッチで我慢してください。....ちなみにモータードライバーだろうがSWレギュレータだろうがパワー系のICはたいていこんな感じのチップになっている...ちなみにICのリード(足)は結構脆い。曲げ伸ばしは基本的にしては行けない。やってみれば分かると思うけど、2,3回なら折れないかもしれないけど、4,5回越えるとポロッと来る。抵抗やコンデンサーのリードと比べると材質が硬いせいか、遥かに弱い。当り前であるけれどICのリードは元々ユーザーサイドで曲げる事は考えていないのだ。だからICの足をあれこれ曲げてぐちゃぐちゃ実装する”空中配線”なんて、してはいけないのだ... (自己責任でやっても良いけど、それを素人に推奨したり、ましては売り物なんかにしちゃいけない)
  • 電源電圧に余裕のあるIC、または一昔まえの回路形式では 出力段はエミッターフォロワーの SEPP、いわゆる準コンプリメンタリーまたは純コンプリメンタリーが定番。普通のOP アンプも同じ。ちなみにコンプリメンタリーと言っても ディスクリートのコンプリ程特性が揃うわけではない。ディスクリートの場合はそれぞれ別ウェハー、別条件の別機種だからそれぞれを特性を合わせ込めるが、ICは一つのチップ上に両方作りこまなきゃいけないので、構造も特性も始めから合わない... プロセスによってはPNPの特性出すのはやはり難しいので下側もNPNで疑似コンプリってこと。
  • 最近のカー用アンプなどは、出力をGND-VCC間目一杯に振らせる必要がある(出力スペック要求が高いから)ので出力はコレクタ出し、上側 PNPで下側はNPN が定番。出力がMOSの場合は上がPch,下がNchでドレインが出力。 あとポータブル用低電圧なやつも同じ。電源電圧目一杯有効に使うという事ですね。 Rail-to-Rail なOPアンプと同じ形式。
  • デジタルアンプの出力素子は、上Pch下Nch と 上下共Nchの二つの場合がある。 PchはNchよりどうしても能力が劣るので素子面積ががどうしても大きくなってチップサイズが大きくなって原価が上がる...から上もNchにする事が多いのだが、上のNchをONさせるためには当然VCC以上の電圧が必要になるのでブートストラップとかチャージポンプとかの回路が必要になる...
  • IC上のトランジスター、抵抗その他の部品はシリコンのpn接合で分離されている。逆に言えばすべてpn接合で繋がっている。 同じ原理で、IC上の素子には、それに寄生する形でpnダイオード、 pnpやnpnトランジスター、場合によってはサイリスターの様なものまで寄生する事になる。
  • しかし正しく回路が組まれ、正しくチップが設計されて、電源やバイアス、GNDなどが正しく接続され、正しい動作を挿せている限においてはそれらの寄生素子はICの動作に影響を及ばさない。
  • 逆に言うと、不適切な使い方、動作範囲を越える不適切な電圧を与えたり(とくに負電圧に注意)すると寄生素子が動作しはじめ、異常な動作モードに入る。ICは正しく動作しないばかりか、破壊を起こす事がある。
  • 従っ て、データシートやアプリケーションノートに書かれた応用回路から外れた動作をさせてはならない。アマチュアユーザーが思い付きで考える様な事(使わない チャンネルの電源を繋がないで殺す、とか バイアスのフィルタ端子に外から電源を加える、とか複数のGNDピンをばらばらに接地するとか...)を実施した場合致命的な動作不良、信頼性的な劣化等想像外の影響を及ぼす事もありうる。問題がおこるか起こらないか、はICの中がどうなっているか、で決まる。 ICは ブラックボックスであり、通常内部の正確な等価回路やチップのパターンレイアウトは多くの場合非公表で、それを知るのはIC設計者、メーカーのみである。従って、一 般ユーザーはやってよい事、悪い事は判断ができないわけであるから、まずはデータシートやアプリケーションノートに従うべき、である。
  • 電源ピンが複数ある、とか、数種類の電源電圧のピンが出ている、と言う場合、それぞれ独立した外部電源でバラバラに供給してしまうと、それぞれの電源のon/offタイミングなんかも問題になるかもね。さらに注意すべきなのは複数のGNDピンがある場合。 たいてい PGNDとかSGNDとか複数GNDピンが出ているけれど、これらはICの足に近い所で全て同電位になる様になるべく太い配線でそれぞれを完全に接続すること。 それぞれを別ラインで遠い場所で一点アース、なんてのはICアンプでは愚の骨頂。安易にそんな事をしてPGNDとSGNDに電位差が生じてしまうと動作不良を起こすとかIC壊す可能性がある。PGNDってパワー部だから大電流流れて電位がもちあがるし、ふらつく、SGNDは小信号だからあまり電流は流れないからふらつかない。だからそれぞれ別の配線で遠くで接続しちゃうと、当然電位差が生じる、のだが、ICの中の事を知っていればそれがどれだけ恐ろしい事か... 実装して 誤動作しない事が確認出来ているならともかく、もし理屈がわからなければ、ともかく推奨の応用回路とかプリントパターン通りに配線すべきです。 IC焼いたりスピーカ飛ばして痛い目にあって学習したい、と言う自虐的な方はICの中の事を無視した自己流で配線するのも一興、止めはしませんが...
  • も しあなたがセットメーカーの技術者であれば、ICメーカーに問い合わせれば必要な情報、応用回路の検討等のサポートが得られるでしょう。しかしアマチュア 相手にそれをしてくれるメーカーはまず皆無。そのかわり、各社それなりのデータシートやアプリケーションノートを発行しているわけである。一にも二にも、 勝手な応用はしないで、それらに従うべき。
  • もちろん 個人がポケットマネーで買った部品をどう使おうと誰に文句を言われる筋合も無い事である。中身がわからないんだから解析して使いこなすというチャレンジ精神はすばらしい。しかし理屈が説明できない事をあちこちに書いて、いわゆる"初心者"を惑わすのはどうかな、と思いますがいかがでしょうか? 自らマニアと呼ぶ様な人のなかには、たまに物理法則や光の速度さえ越えてしまうよくわからない理論を振りかざす人がいるものだけれど、所詮アンプなんて電子回路なんだから電気や電子の理論が信用出来ない人は本来回路なんか触っちゃいけないんだよね... 電気がよくわからないのに抵抗やコンデンサ、配線材などの銘柄をやたら気にしたり...不思議な世界だと思う...
  • 大きなお節介だけれど、電源のコンデンサーに桁違いのとんでもない値のでかいモノを使うのを良くみますが、アンプの出力をショートさせたりした場合かなり悲惨な事になると思う。 IC燃やすぐらいで済めばいいけど、ボヤなど出さないで下さいね。 一般的に、カー用のICはかなり厳重な天地絡保護、出力ショート保護がなされている(カーオーディオメーカーの要求...) のだが、あまりに巨大な容量値だと保護回路効く前にこわれちゃいそうな....インダクターでも居れて突入に時定数をもたすといいかもしれないけど..何ごとも程々が肝要だと思いますよ。 そういう極端な実装を見ると、暴走族こと珍走団が駆る 車高短タケヤリ羽付き満載の族車、珍走車をおもいおこします。 珍走団式アンプとでも命名しようかな...
  • ICの単価って、実は驚く程安いのですよ..アナログだろうとデジタルだろうと....作る側からみると涙チョチョ切れですよ、本当に。秋葉原の小売価格はメーカー側から言えば考えられない値段。まぁ売ってやるだけありがたく思え、という足もとを見た商売ですね。ただたくさん売れるものじゃないし、売れなきゃ不良在庫だし、小売の手間賃を考えると仕方ないのだろう。メーカーも在庫があれば最低1000個単位ぐらいでしか取り引きしないから、売れなきゃ小売がまるかぶり...だから高い値付けになるわけね。ただせめてメーカー出荷価格の4倍程度おさせて頂きたい。でなきゃ buy one take one 、 今と同じ値段で一つオマケしてやれ。そうすれば在庫掃けるし、買う側も喜ぶし、卸元への注文数だって確保しやすいだろうに。半額にしたって足でないはずだぜ...某店の値付けを揶揄して "ボリ松"なんて言う人が居るけどそう呼ぶ人の気持はよくわかる。
---
....書いているうちに段々支離滅裂になってきたのでこの辺で...^^;)