L-SMASHはISO Base Mediaファイルフォーマット及びMP4を含むその派生ファイルフォーマットを扱うクロスプラットフォームのライブラリです。
将来的にはMP4に関わる様々な用途を想定していますが、現在のところ、実際に動作する機能は以下のように限られています。
具体的には、以下の標準の一部を実装しています。
関連規格として、以下の標準の一部も実装しています。
また、MOV(QuickTime)ファイル形式をサポートするため、Apple QuickTime仕様の一部を実装しています。
巷には既にいくつかのオープンなMP4/MOVの実装が存在するにも関わらず、L-SMASHプロジェクトは開始しました。
当初はx264のMP4 muxerのみを想定していましたが、その後展望が広がり、現在では汎用のMP4ツールとなるべく実装が進んでいます。
開発の契機は、既存のオープンソースの実装が大きく、複雑すぎること、そして規格上誤った実装が多いことから、自分たちで真っ当な実装を行おう、と思い立ったことにあります。
このため、L-SMASHは以下のような基本コンセプトを持っています。
MP4は非常に多種多様な表現を内包することのできる、高機能なコンテナ形式です。
しかし、L-SMASHでは2D/3Dグラフィックスやインタラクティブコンテンツ等をサポートしません。
現状の動画コンテナとして一般に重要ではなく、実装を過度に複雑にする機能を排除し、シンプルにしています。
L-SMASHのソースコードは必ずしも実行時の効率が良くはなっていません。多少効率が悪くとも、正しく、かつ規格と実際の動作の理解が容易なコードにしています。
L-SMASHプロジェクトは公式にはバイナリを提供しません。
ソースコードはGitHubのgitレポジトリで管理しており、gitコマンド、またはミラー(以前の公式)であるrepo.or.czのsnapshotによって取得可能です。
gitでの取得の場合、任意の作業ディレクトリ上で以下のようにして取得できます。
git clone https://github.com/l-smash/l-smash.git
また、OS XユーザはHomebrewを使ってL-SMASHをインストールすることができます
brew install [--HEAD] l-smash
L-SMASHは殆どがC99の範囲で作成されており、ビルド・動作共に環境依存性が低くなっています。
ただし、以下の点により、コンパイルできない、または動作しない環境がある可能性があります。
具体的な動作環境として、開発者は主にMinGW-w64上で作業を行っており、他にMacOSX(Intel)上での動作が確認されています。PPCでの動作も確認されましたのでバイエンディアンです。
まだあまり充実していません。よりオープンにしていきたいとは考えています。
英語での議論のための専用の場所は用意していませんが、開発者と協力者はx264周辺、そしてdoom9やdoom10のフォーラムにいますので、連絡を取るのは難しくないでしょう。
irc://freenode/L-SMASH に開発者・協力者の常駐するIRCチャンネルがあります。英語も日本語も可ですが、時間帯によって、誰も反応しないかもしれません。
ソースコードにメールアドレスの記載があります。
返信の迅速性、確実性にはあまり期待しないで下さい。また、メールによる連絡は、開発レベル以上のトピックに限って下さい。一般ユーザレベルでの使用方法やビルド方法に関してはフォーラムを使用して下さい。
ISCライセンスです。
Copyright (C) 2010-2014 L-SMASH project Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
規格不適合ファイルの生産の抑止力となりたいという理念の体現として、不自由なソフトウェアからも気兼ねなく利用できるように、ライセンスを選択致しました。
変態 変人を自負出来る開発者募集中。
"JEEBと愉快な仲間たち"の協力に感謝します。
(alphabetical order)