Linux(Plamo64)の開発作業も佳境に入り,手元では日常の生活環境も64ビット上に移行しました。food)」という表現があります。これは,自分で作ったソフトウェアを自分で実際に使って,使い勝手や問題点を経験してみる,という意味です。Plamo64も「ドッグフードを食べる」段階に入り,現在は日常作業をPlamo64上で行いながら,作成したパッケージの動作を確認したり,必要な機能を随時追加する作業に追われています。なると欲くなるのは作業中に流すBGMです。最近のLinuxでは,VLCやMPlayer,xine,Totem等のメディアプレイヤーが充実し,CDやDVD,あるいはインターネット上のたいていのマルチメディアコンテンツを再生できるようになっています。このような便利な環境は一朝一夕にできあがったものではなく,さまざまなオープンソースソフトウェア(OSS)プロジェクトが積み上げてきた成果のおかげです。今回は,そのようなLinuxのマルチメディア環境について紹介してみましょう。マルチメディアと各種CODEC人間の聴覚や視覚は,空気や光の振動の高低や強弱といったアナログデータを認識しますが,アナログデータはそのままではコンピュータで処理することができず,「⁠符号化」という処理を行ってデジタルデータ化してやる必要があります。コンピュータで処理したデジタルデータを人間が視聴する際には再度アナログデータに戻してやる必要があり,この作業を「復号化」といいます。この「符号化(COding⁠)⁠」⁠「⁠復号化(DECoding⁠)⁠」の処理を行うソフトウェアをCODECと呼びます。符号化のことをエンコード(encode⁠)⁠,復号化のことをデコード(decode)とも呼びます。アナログデータをいかに符号化,復号化するかはコンピュータ科学にとっての古くからの研究テーマで,画像や音声,動画といった元データの種類,あるいは利用目的や用途,前提とするコンピュータやネットワークの能力などに応じてさまざまに異なる方法が考案され,その方法を実装したソフトウェア(CODEC)が開発されてきました。画像を扱うBMPやGIF,JPEG,音声を扱うPCMやWMA,ATRAC,MP3,動画を扱うMPEG-1/2/4,MotionJPEGなどが代表的なCODECです。多くのCODECには符号化と共にデータを圧縮する機能も組み込まれています。これらの方法の中には,特定の企業が開発して自社の製品のみで使っているものもあれば,ボランティアの個人やグループが開発してフリーに公開しているもの,既存の技術を整理して規格化団体が提唱したものなどさまざまですが,広く普及している方法では,たいていOSSなCODECも開発されています。CDやDVDの専用プレイヤーでは,CODECはハードウェア的に組み込まれてあらかじめ決められた形式のデータしか処理できないのに対し,ソフトウェアのメディアプレイヤーでは必要なCODECを追加することで新しい形式のデータにも随時対応できます。そのため,ソフトウェアのメディアプレイヤーを前提としたインターネット上の動画コンテンツでは新しい形式が積極的に採用され,再生するために必要なCODECも増えていくことになります。これら増え続けていくCODECにどのように対応していくかがメディアプレイヤー開発者の悩みどころで,それらをどのように収録していくかがディストリビューション作成者の悩みどころになります。その一例を,MPlayerというメディアプレイヤーで紹介してみましょう。今回取りあげるMPlayerは,www.mplayerhq.huで公開されているメディアプレイヤーです。MPlayerは当時の既存のメディアプレイヤーに不満を持った原作者が2000年ごろから始めたプロジェクトで,10年を越える歴史を持ち,いよいよ正式版の公開が近づいているそうです。MPlayerのホームページMPlayerは,LinuxだけではなくWindowsやMacOSなど,さまざまなプラットフォームで動作するように,メディアの選択や各種操作を行うGUI部分はオプション機能として本体から切り離され,本体部分はコマンドラインから起動するCUIなコマンドとして作られています。広く利用されているCODECについては,OSSとして開発されているソースコードを内蔵して外部ライブラリへの依存を減らすように考えられているので,Plamo64のような開発途中の環境でも何とかなるでしょう。スクリプトを動かしてみたところ,無事終了してビルド可能にはなりましたが,気になるメッセージもいくつか表示されています。driversの部分に示されているのが現在は利用できないドライバのリストです。output:が動画データの出力先に関する機能になります。mp3といった広く使われているCODECはMPlayer自身で提供していることがわかります。MPlayerが対応しているものの,何らかの理由で現在は利用できない機能で,これらの機能を利用するには外部のライブラリなどが必要になります。上記ではCodecs:の部分にffmpeg(internal)と表示されていますが,ffmpegは特定のCODECの名称ではなく,OSSのソフトウェアプロジェクトの名称です。ffmpegプロジェクトは多種多様なCODECを統一的に操作可能にすることを目指したソフトウェアプロジェクトで,きわめて多数の動画,音声CODECに対応したライブラリ(libavcodec)を提供しており,MPlayerだけでなく,VLCやxineといったメディアプレイヤーもffmpegを利用して多数のCODECに対応しています。Linuxとりまとめ役。人類学的にハッカー文化を研究しようとしていたものの,いつの間にかミイラ取りがミイラになってOSSの世界にどっぷりと漬かってしまいました。最近は田舎に隠棲して半農半自営な生活をしながらソフトウェアと戯れています。2019」を開催しました。DAY1・DAY2の様子を注目セッションとともにお伝えします。LINEのエンジニア3名がイベントに先駆けて見どころを紹介します。コードの安全性・安定性を高める開発サイクル~テスト管理の効率を上げ,脆弱性診断を自動で行う~本連載では,連載「業務を改善する情報共有の仕掛け」を受けつつ,安全性・安定性を加えた開発サイクルについて考えていきます。若者世代から圧倒的な人気を誇るライブ配信&動画投稿コミュニティアプリ「MixChannel」(ミクチャ)の裏側(レコメンドシステムやサーバサイド開発など)について解説していきます。その他の連載CSS3アニメーションでつくるインターフェイス表現CSS3によるアニメーション表現を紹介していきます。その中でも,幅広い読者に応用してもらえるだろうインターフェイスを主なお題とします。MySQL道普請便り本連載では,MySQLを使ったアプリ開発・運用に関するノウハウをご紹介していきます。RecipeUbuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。JavaScriptセキュリティの基礎知識JavaScriptに関するセキュリティ上の問題はどこで発生し,どうすれば防ぐことができるのか?について解説していきます。〜システムをきちんと運用するための基礎知識システムは「作って終わり」ではなく,運用の中でさまざまな問題が発生します。問題の発生に備えて事前にどのような対応をしておくべきなのか,問題発生時に何をしなければならないのか,ポイントを解説していきます。きたみりゅうじの聞かせて珍プレーソフトウェア開発の現場で体験したトホホな失敗,思わずうなる珍プレーをきたみりゅうじ氏が四コママンガで紹介。Linuxのメンテナンスの傍ら,Linuxやオープンソースソフトと日々を過ごす著者が,その魅力とつきあい方を,エッセイ風味でお届けします。PRESS特別編集部員,さわやか笑顔のスーパーハカーはまちちゃんとネット大好き14歳わかばちゃんが,毎号,読者の皆さんから寄せられたおたよりを紹介します。皆さんの日頃の悩みにも答えちゃいますよ。]メールでのお知らせメールで次の案内をお送りしております。メールの配信を希望する方は,利用したい項目をチェックしてメールアドレスを入力し,[登録]ボタンをクリックしてください。UPDATES[ほぼ週間に1回]新刊メールマガジン[ほぼ週間に1回]電脳会議の各号案内[ほぼ1ヵ月半に1回]※変更する場合や停止する場合は,登録情報変更ページをご覧ください。※登録いただいたメールアドレスには,そのお知らせ以外,配信いたしません。Ltd.ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。