アスペクト比とデータの持ち方。 [DVとかMPEG-4とか]
自分もいまいち飲み込めていませんが・・・いくつかありがちな疑問点に解説してみたいと思います。
合わせてYouTubeに上げたx264Encoder HowToの動画もどうぞ。(Link)
//
TVやDVD/BD、映画など、「PC上で再生することが前提ではない」デジタルで表す動画データは、一つの点が横長だったり縦長だったりします。つまり、正方形のピクセルを想定していないものが普通なのです。
でも、デジタルってのは小数点以下のサイズを持てないですから、どうやって表すかとなると、元々のデータ自体はピクセル単位で例えば720x480とか、1440x1080とか、そういう単位でデータ化しています。
で、表示するときには引き延ばしてくださいね、という情報を追加してあげます。これがアスペクト比、という情報なわけです。
祝3,000,000PV。 [DVとかMPEG-4とか]
H.264のvuiを無視するのは知っていたけれど、まさかclap/pasp boxまで無視するとは知らなかったです。
・・・x264Encoder 1.2.0では、Container LevelとStream Levelの両方にアスペクト比の情報を埋め込むようになりました。
Snow Leopard上のQTXやQuickLookでは、きちんとAspect Ratioを見ているのですが、Leopard上ではQuickLookとかも含めてQuickTime 7.6系の機能を使っているので、mp4ファイルにしてしまうとだめなんですね。
というわけで、mp4ファイルを使うなら、SnowLeopardの方が楽でいいですね。もちろん、movファイルならLeopardでもきちんとサポートされています。
リリース:x264Encoder 1.2.0 [-リリース情報-]
開発ネタ。
libx264+libavcodecベースのQuickTime Compressor Component、x264Encoder 1.2.0を公開します。(ダウンロード)
・Pixel Aspect RatioとClean Apertureのサポート。
・lossless QPのサポート。
・実験的なMBAFF Interlacedのサポート。
・libx264の複数のvuiをサポート。
・MacOS X 10.5以降、およびQuickTime 7.6以降が必要。
・コアをx264 git-1416とffmpeg SVN-21600に更新。
待望のアスペクト比指定をサポートしました。Container level(stsd)に加えStream level(vui)にも書き込んでいるため、QuickTime系のみならず、MPlayerなどでも正しいアスペクト比で再生出来るようになりました。
QuickTime 7.6ではmovファイルのpasp/clapのみが有効です。mp4ファイルでのpasp/clapはQuickTime Xやサードパーティ製プレーヤでのみサポートされています。
復帰しました。 [開発系とか]
//
てなわけで、x264Encoderの新しいバージョンをテスト中です。
ようやく10.4を動作環境から外す決心がついたのですが、ただライブラリを更新するだけではつまらないですよね。
Ver. 1.2.0として、あれこれ新機能を積んできます。こだわる方向けの機能をサポートしますので、期待して下さいね。
ごめんなさい。 [開発系とか]
現在、本業がかなり酷い状況となっており、当分は時間が割けません。
このため、拙作コンポーネントの更新がしばらく止まります。
申し訳ありませんが、気長にお待ちください。
PIR。 [開発系とか]
・http://forum.doom9.org/showthread.php?t=130364&page=142
Download this clip, open it in VLC or MPC-HC, and seek anywhere in the video. Oh and it has no keyframes.
現状、このリンク先にあるmkvは、QuickTime Player+Perianでは再生出来ないのだけれど、movファイルやmp4ファイルにつめかえると効果が確認可能だ。Periodic Intra Refresh. The loss exists, but it's not that large when compared to having a similar keyframe interval (e.g. keyint=35 for a PAL SD video.)
More importantly, combined with other changes, this allows:
1. Zero encoder, decoder, and buffer latency.
2. Error resilience up to 20-25% packet loss rates, using one-slice-per-packet.
3. No keyframes beyond the first, so constant or capped framesize are both possible.
4. Realtime HD encoding at zero latency.In other words, x264 is now the greatest encoder in the world for realtime video applications, like videoconferencing, and anyone who uses anything else needs to have their head examined
リリース:xvidEncoder 1.1.10 [-リリース情報-]
libxvidcore+libavcodecベースのQuickTime Compressor Component 、xvidEncoder 1.1.10を公開します。(ダウンロード)
・キーフレーム「自動」をKeyInt=60として処理。その他修正。
・CoreVFフォルダでの不足文書を追加。
・コアをffmpeg SVN-20880に更新。
リリース:mp4vEncoder 1.1.10 [-リリース情報-]
libavcodecベースのQuickTime Compressor Component、mp4vEncoder 1.1.10を公開します。(ダウンロード)
・キーフレーム「自動」をKeyInt=60として処理。その他修正。
・CoreVFフォルダでの不足文書を追加。
・コアをffmpeg SVN-20880に更新。
トリ。 [開発系とか]
//
自分の作業環境の都合で、これをMacOS X 10.4最終サポート版とします。来年以降のリリースでは、10.4の動作テストは行いません。そのうち動かなくなりますのであしからずご了承ください。
//
どうやらPerian 1.2系のリリースは近そうですね。
先日、ようやくTicket #458がクローズされて、1.2 release branchにportされました。この感じだと特にベータステージをおかず、今週末か、あるいは年内と思われます。
1.1.4との非互換もようやく解消か・・・ドキュメント更新しなきゃ。
遂にClose。 [開発系とか]
・Perian trac:Changeset 1219
という訳で、Perian SVNを落としてきて、テストビルドしてみたよ。
$ svn checkout http://svn.perian.org/trunk
さくっとdeployment targetのビルド完了。いい感じ。
ChangeSet 1211。 [開発系とか]
バッチの中身はよく分からないけれど、libavcodecの挙動に依存した箇所があったようですね。
・Perian trac:#439 Broken playback issue
まだチケット439はクローズされていないので、追加が来るかもしれないです。
YouTubeでどうぞ。 [DVとかMPEG-4とか]
・http://www.youtube.com/user/MyCometG3
時々、x264Encoder自体の使い方が分からないと言われることがありますので、ビデオにしてみました。これならきっと分かるでしょう。
・・・QTPXの画面キャプチャは便利だね。これとYouTubeアップロード以外はさっぱり使ってないけど(笑)
//
動画上のサンプルは、DV-NTSC 29.97fps(Bottom Field First)1秒です。
CRFモードで書き出すため、Rate:Automaticを指定しています。
CoreVFで以下のフィルタ設定を使って、デインターレースを掛けています。
pp("tn:4:8:12"); leakkd(order=0,sharp=0,bob=1); frameskip("01"); pp("l5");
これが、自分の常用設定です(カジュアルエンコーディング)。このフィルタ設定ですと、どうしてもジャギが残ります。mcdeintを使えば、かなりマシになりますが・・・重いので。







