===MP4BOX_--mux===
/usr/local/bin/mp4box -fps 23.976025 -add 無敵看板娘07.264 -add 無敵看板娘07.aac.mp4 -new 無敵看板娘07.mp4
===MP4BOX_--mux===どちらも電卓の計算結果とは全然違う。
/usr/local/bin/mp4box -fps 29.970030 -add 日本の話芸.264 -add 日本の話芸.aac.mp4 -new 日本の話芸.mp4
Welcome to Darwin!2)gccでビルド。同一フォルダ内に"float.out"ができる。
MACNAME:~ USERNAME$ cd ~/Desktop/A
MACNAME:~/Desktop/A USERNAME$ ls
float.c
MACNAME:~/Desktop/A USERNAME$ gcc /Users/USERNAME/Desktop/A/float.c -o /Users/USERNAME/Desktop/A/float.outリターン
3)計算。MACNAME:~/Desktop/A USERNAME$ /Users/USERNAME/Desktop/A/float.outリターン4)それぞれを小数点以下6桁で四捨五入。これは手で^^;
1st Number: 30000リターン
2nd Number: 1001リターン
30000.0000000000 / 1001.0000000000 = 29.9700298309
MACNAME:~/Desktop/A USERNAME$ /Users/USERNAME/Desktop/A/float.outリターン
1st Number: 24000リターン
2nd Number: 1001リターン
24000.0000000000 / 1001.0000000000 = 23.9760246277
MACNAME:~/Desktop/A USERNAME$
MACNAME:~ USERNAME$ mp4box -info /Users/USERNAME/Movies/0913/001-0809_NHK-BS2_BSアニメ夜話_23_鋼の錬金術師.mp4 リターン
* Movie Info *
Timescale 600 - Duration 00:54:58.508
Fragmented File no - 2 track(s)
File Brand isom - version 1
File has root IOD
Scene PL 0xff - Graphics PL 0xff - OD PL 0xff
Visual PL: AVC/H264 Profile (0x15)
Audio PL: AAC Profile @ Level 2 (0x29)
No streams included in root OD
Track # 1 Info - TrackID 1 - TimeScale 29969 - Duration 00:54:58.508
Media Info: Language "und" - Type "vide" - Sub Type "avc1" - 98853 samples
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
AVC/H264 Video - Visual Size 640 x 480
Self-synchronized
Track # 2 Info - TrackID 2 - TimeScale 48000 - Duration 00:54:58.368
Media Info: Language "und" - Type "soun" - Sub Type "mp4a" - 154611 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 48000
Synchronized on stream 1
MACNAME:~ USERNAME$ mp4box -raw 1 /Users/USERNAME/Movies/0913/001-0809_NHK-BS2_BSアニメ夜話_23_鋼の錬金術師.mp4 リターン"001-0809_NHK-BS2_BSアニメ夜話_23_鋼の錬金術師_track1.h264"ができる。
Extracting MPEG-4 AVC-H264 stream to h264
MACNAME:~ USERNAME$ mp4box -raw 2 /Users/USERNAME/Movies/0913/001-0809_NHK-BS2_BSアニメ夜話_23_鋼の錬金術師.mp4 リターン"001-0809_NHK-BS2_BSアニメ夜話_23_鋼の錬金術師_track2.aac"ができた。
Extracting MPEG-4 AAC
MACNAME:~ USERNAME$ mp4box \リターン
-fps 29.970030 \リターン
-add /Users/USERNAME/Movies/0913/001-0809_NHK-BS2_BSアニメ夜話_23_鋼の錬金術師_track1.h264 \リターン
-add /Users/vies/0913/001-0809_NHK-BS2_BSアニメ夜話_23_鋼の錬金術師_track2.aac \リターン
-new /Users/USERNAME/Movies/0913/001.mp4リターン
AVC-H264 import - frame size 640 x 480 at 29.970 FPS
Adjusting AVC SizeLength to 16 bits
Import results: 98853 samples - Slices: 1566 I 77424 P 118716 B - 1 SEI - 1566 IDR
AAC import - sample rate 48000 - MPEG-4 audio - 2 channels
Saving /Users/USERNAME/Movies/0913/001.mp4: 0.500 secs Interleaving
MACNAME:~ USERNAME$ mp4box -info /Users/USERNAME/Movies/0913/001.mp4 リターンこれで実写番組でのリップシンクがかなり改善した。b_pyramid復活させて試そっと。
* Movie Info *
Timescale 600 - Duration 00:54:58.395
Fragmented File no - 2 track(s)
File Brand isom - version 1
File has root IOD
Scene PL 0xff - Graphics PL 0xff - OD PL 0xff
Visual PL: AVC/H264 Profile (0x15)
Audio PL: AAC Profile @ Level 2 (0x29)
No streams included in root OD
Track # 1 Info - TrackID 1 - TimeScale 30000 - Duration 00:54:58.395
Media Info: Language "und" - Type "vide" - Sub Type "avc1" - 98853 samples
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
AVC/H264 Video - Visual Size 640 x 480
Self-synchronized
Track # 2 Info - TrackID 2 - TimeScale 48000 - Duration 00:54:58.368
Media Info: Language "und" - Type "soun" - Sub Type "mp4a" - 154611 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 48000
Synchronized on stream 1
※何れもffmpegX0.0.9x同梱版より新しい。
$ /Users/USERNAME/Desktop/EvalVid/MP4Box -version
MP4Box - GPAC version 0.4.3-DEV
GPAC Copyright: (c) Jean Le Feuvre 2000-2005
(c) ENST 2005-200X
$ /Users/USERNAME/Desktop/EvalVid/MP4Box -h generalMEncoder -x264encoptsに無い--sarをmux時に後付けできそう。 いや、実は720x480のままでスケーリングしなけりゃMEncoderが自動でx264 [info]: using SAR=8/9っ てしてくれ るんだけども。
General Options:
//
-par tkID=PAR: sets visual track pixel aspect ratio (PAR=N:D or "none")
===MENCODER_PASS1===
/usr/local/bin/mencoder CM_pan720x480.mpeg -nosound -ovc x264 -x264encopts てきとう -vf yadif=2,pp=l5,hqdn3d=4:3:6,harddup -sws 9 -ofps 30000/1001 -of rawvideo -o /dev/null
===MENCODER_PASS2===
/usr/local/bin/mencoder CM_pan720x480.mpeg -nosound -ovc x264 -x264encopts てきとう -vf yadif=2,pp=l5,hqdn3d=4:3:6,harddup -sws 9 -ofps 30000/1001 -of rawvideo -o CM_pan720x480.264
===FFMPEG_AUDIO===
/usr/local/bin/ffmpeg -i CM_pan720x480.264 -i CM_pan720x480.mpeg -y -vn -f mp4 -acodec aac -ar 48000 -ac 2 -ab 64 -map 1.1:0.0 CM_pan720x480.aac.mp4
===MP4BOX_--mux===
/Users/USERNAME/Desktop/EvalVid/mp4box -fps 29.970030 -par 1=8:9 -add CM_pan720x480.264 -add CM_pan720x480.aac.mp4 -new CM_pan720x480.mp4
===MP4BOX_--info===
/Users/USERNAME/Desktop/EvalVid/mp4box -info CM_pan720x480.mp4
* Movie Info *
Timescale 600 - Duration 00:00:29.795
Fragmented File no - 2 track(s)
File Brand isom - version 1
Created: GMT Sun Jan 28 04:53:28 2007
File has root IOD
Scene PL 0xff - Graphics PL 0xff - OD PL 0xff
Visual PL: AVC/H264 Profile (0x15)
Audio PL: AAC Profile @ Level 2 (0x29)
No streams included in root OD
Track # 1 Info - TrackID 1 - TimeScale 30000 - Duration 00:00:29.796
Media Info: Language "Undetermined" - Type "vide" - Sub Type "avc1" - 893 samples
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
AVC/H264 Video - Visual Size 720 x 480 - Profile High @ Level 5.1
NAL Unit length bits: 32
Pixel Aspect Ratio 8:9 - Indicated track size 640 x 480
Self-synchronized
Track # 2 Info - TrackID 2 - TimeScale 48000 - Duration 00:00:29.653
Media Info: Language "Undetermined" - Type "soun" - Sub Type "mp4a" - 1390 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 48000
Synchronized on stream 1
1 | 2 | 3 |
---|---|---|
![]() |
![]() |
![]() |
VLC 0.8.6a 720x540で表示。横幅に合わせて縦を拡大している。 720x576のPALに合わせた挙動なのだと思う。 素材のMPEG-2もこうなる。 |
QuickTime Player Pro 7.1.3 + avc1 Decorder 0.6.0 720x480そのままで表示。 これは「国際標準規格」準 拠の動作では無い。 素材のMPEG -2は640x480で表示する。 |
Lanczos4使用、640x480で作成したもの。 640x480で表示。 |
QTの林檎+Jで"ビジュアル設定"を見ると、"表示サイズ"は720x480のまま。なんだか良く解らない。これSARと違うの か。とりあえずおいといて、、、
主 観的な「画質」は640x480(上記3のファイル)のほうが良かった。
bitrateはどちらも同じなのでその分の差はあるが、インタレ解除とデノイズは同一。
VLCで比べた感想としては、迫力は表示面積の大きい720x480の方が上なものの、奇麗さでは640x480の方が良いと感じた。720x480
は地味に文字がボケる。ボケはコマによって変動し、時に目にうざい。文字以外の部分でも同様の現象がおきているようで、それで全体的になんと
なく画質が悪いと感じたのだと思う。全画面表示では38,400画
素の差がある720x480の方が有利かと思ったが、面白い事にさらに差が目立った。
720x480維持のほうが素材に"忠実"なのだが、実感としてはハテナな感じ。そういえばDoom9氏も640x480を推奨して いたような記憶が、、、。
VUIを使うと言う事は、再生時にリアルタイム拡縮が入ると言う事だ。
もちろん家電プレイヤはハードウェアでリアルタイム拡縮をやるわけだし、Winでも正しくグラボを設定すればできるようだ。これが--sar指定付き
720(or
704)x480の人が多い理由だと思う。その方が素材に"忠実"だし、たぶんそれで問題の無い画質になるのだろう。インタレ保持で作るにも便利だし。
だ
がMacで同じ事ができるとは期待し難い。モデルに拠ってはWinに遜色の無いグラボが付いてはいるものの(おいらのはショボイ)、Apple
の垂直統合ビジネスモデルでは、ドライバもファームウェアも基本的には門外不出だ。最悪の場合、TerraSoftがYDLの開発でやってたように、モデ
ル毎に搭載ハードウェアにリバースエンジニアリングかけ
る事になりかねん。
もちろん、グラボの差を吸収してくれるCoreVideo APIをVLCやQuickTime Player
Proがバリバリにを使い倒すのを待つという道もあるが、何年もかかる。
エンコ時に手間かけて、スクエア・ピクセルで4:3や16:9に直してしまう方が良いように思った。
本文中でIsoMedia fileに言及する事があります。IsoMediaとは、MPEG-4 Part 12規格に由来する全てのフォーマット~MP4、3GP、そしてMJ2K file~の一般名称です。MJ2K fileのサポートはまだGPACではテストされていません。
version 0.2.4以降、MP4BoxはIsoMedia fileのin-place rewrite(入力ファイルの上書き)を行います。この動作は -out Filename オプションで変更できます。
古いバージョンのMP4Boxでは、既存のIsoMedia file(例えばAFILE.mp4)を上書きせず、出力はout_AFILE.mp4のようになっていました。出力ファイル名を変更するには -out Filename オプションを使います。
version 0.2.4以降、MP4Boxは常にファイルを0.5秒間隔でインターリーブ(*交互配置*)し、メタデータを先 頭に書き込みます。これはHTTPスト リーミングに便利なようにです。
通常、MP4Boxは新しいIsoMedia fileの生成時に一時ファイルを作成します。作成場所はOSによって異なりますが、一時ファイル作成に使うドライブやパーティションに充分な空きや書き 込み権限が無いケースもあります。このような場合に一時ファイルの作成場所を変更するには -tmp path_to_dir オプションを使います。
MP4Boxはaudio/video/imageのトランスコーディング(メディアトラックを他の符号化形式に再エンコードするこ と)ができません。 トランスコードには他のツールが必要です。
version 0.2.2以降、プロンプトでオプションの順番を気にする必要は一切ありません。
このページのドキュメントは最新版のMP4Boxについて書かれるものですから、時にGPAC CVSでなければ使えないオプションに言及する事があります。もしも手許で使えないオプションがあったらアップグレードして下さい。
このオプションの多くは入力ファイルの保存方式を指示す るものです。作成、変換、既存ファイルの変更全てに使えます。
-tmp dirMP4Box は以下のファイルを規格に適合した IsoMedia fileに変換できる:
RAW フォーマットとその拡張子:
AV コンテナとその拡張子:
テ キストフォーマットとその拡張子:
変換コマンドの書式は MP4Box -add inputFile destinationFile。こ のオプションは複数ソースからメディアをインポートするのに使う。一般的なMP4boxビルドでは最大で20個の-addコマンドが使える。 destination file が無い場合は自動的に作成し、トラックを追加する。destination fileを削除したい場合は、 -new オプションを追加する事。
MP4Box はinput fileの全体ではなく、任意の量をインポートできる。指定書式は -add inputFile%N、N はインポートする秒数。インポート開始位置は任意指定できないので、常に先頭からになる。
-add オプションを使う場合、MP4Boxは自動的にデフォルトのBIFS と OD トラックを作る。出力ファイルが可能な限り ISMA 1.0 standard に適合するようにだ。出力ファイルの拡張子が .3gp または .3g2だった場合、MP4Box は自動的に 3GP(2) 規格に適合するファイルを書き出す。これは、MP4Box で-addを使うと、システムトラックが除去される事を意味する。これを避けるには -keepsys オプションを使う事。出力ファイルの拡張子が.m4aの場合、MP4Box は自動的に iTunesが必要とする情報を書き込む。
既存のIsoMedia fileを-addオ プ ションでインポートする際、MP4BoxはMPEG-4 または 3GPP(2)規格に適合しない全てのトラックを自動的に 除去す る。そうしたトラックも残したい場合は -keepall オプションを使う事。
テキストインポートに関する注意 : SRT または SUB fileをインポートする際、MP4Boxはデフォルトで字幕が映像の下端に出るようにレイアウトオプションを指定する。したがって、ビデオトラックがま だ一つもないファイルに字幕ファイルをインポートするのは良く無い(デフォルトのSRT/SUBインポートは、デフォルトのserif フォント・フォントサイズ18・ディスプレイサイズ400x60になる)。3GPP timed textに関する詳細は、http://gpac.sourceforge.net/doc_ttxt.php。
メディアをインポートする際に使える各メディア固有のオ プション。non-IsoMedia fileに使えるオプションは、対象のメディアトラックに -info オプションを使う事。例: MP4Box -info 2 file.mpg
-dref :cvs -d:pserver:anonymous@gpac.cvs.sourceforge.net:/cvsroot/gpac loginパスワードは何も入れずにリターンで通る。
cvs -z3 -d:pserver:anonymous@gpac.cvs.sourceforge.net:/cvsroot/gpac co -P gpac
$ cd ~/gpacアクセス権が無いと言う。良く解らないので全部アクセス権を与える。
$ ./configure --help
-bash: ./configure: Permission denied
chmod a+x *ヘルプが出た。
$ ./configure --helpとりあえずそのまま./configure。
Usage: configure [options]
Options: [defaults in brackets after descriptions]
GPAC configuration options:
--help print this message
--prefix=PREFIX install in PREFIX [/usr/local]
--mandir=DIR man documentation in DIR [PREFIX/man]
--source-path=PATH path of source code []
--cross-prefix=PREFIX use PREFIX for compile tools []
--cc=CC use C compiler CC [gcc]
--make=MAKE use specified make [make]
--extra-cflags=ECFLAGS add ECFLAGS to CFLAGS []
--extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS [ -Wl,--warn-common] /*あとでここで引っかかる事になる*/
--extra-libs=ELIBS add ELIBS []
--cpu=CPU force cpu to CPU [Power Macintosh]
--sdl-cfg=SDL_PATH specify path to sdl-config for local install []
--enable-sdl-static use static SDL linking [default=no]
--X11-path=X11_PATH specify path for X11 includes and libraries [/usr/X11R6]
--dxsdk-path=DX_PATH specify directX SDK for MinGW []
--mozdir=MOZ_PATH specify mozilla main directory path for system install
--enable-debug produce debug version
--enable-gprof enable profiling
--track-memory enables tracking of all memory allocated by gpac
--disable-fragments disable movie fragments in ISO media support
--disable-opt disable GCC optimizations
--disable-ipv6 disable IPV6 support
--disable-wx disable wxWidgets support
--disable-oss-audio disable OSS audio
--disable-x11-shm disable X11 shared memory support
--disable-fragments disable movie fragments in ISO media support
--enable-readonly force ISO media to be read-only
--disable-svg disable SVG support
--enable-fixed-point enable fixed-point math (THIS MODIFIES GPAC MATH.H HEADER)
--force-fixed-point force fixed-point math without changing gpac math.h header
--disable-opengl disable OpenGL support
--disable-ssl disable OpenSSL support
--enable-amr-nb-fixed enable AMR NB fixed-point decoder
--enable-amr-nb enable AMR NB library
--enable-amr-wb enable AMR WB library
--enable-amr enable both AMR NB and WB libraries
Extra libraries configuration. You can turn a libray off or force using the local version in gpac/extra_lib/
--use-js=OPT force SpiderMonkey ECMAScript OPT=[no,local]
--use-ft=OPT force FreeType OPT=[no,local]
--use-jpeg=OPT force JPEG OPT=[no,local]
--use-png=OPT force PNG OPT=[no,local]
--use-faad=OPT force FAAD OPT=[no,local]
--use-mad=OPT force MAD OPT=[no,local]
--use-xvid=OPT force XVID OPT=[no,local]
--use-ffmpeg=OPT force FFMPEG OPT=[no,local]
NOTE: The object files are build at the place where configure is launched
$ ./configureMac OSXという表示が無いのが地味に不安をそそるが、make helpを見ろと言うので見る。
** System Configuration
Install prefix: /usr/local
Source path: /Users/USERNAME/gpac
C compiler: cc
make: make
CPU: powerpc
Big Endian: yes
** GPAC 0.4.3-DEV Core Configuration **
debug version: no
GProf enabled: no
Memory tracking enabled: no
read-only version: no
fixed-point version: no
IPV6 Support: no
IsoMedia MovieFragments support: yes
SVG Support disabled: no
** Detected libraries **
zlib: system
OSS Audio: no
ALSA Audio: no
X11 Shared Memory support: yes (path: /usr/X11R6)
SDL Support: yes /*これはsrcからビルドした記憶がある*/
libXML2: yes
OpenGL support: yes
OpenSSL support: yes
wxWidgets support: Version 253
** Extra Libraries used **
SpiderMonkey: no
FreeType: system
JPEG: system
OpenJPEG: no
PNG: system
MAD: system /*これはsrcからビルドした記憶がある*/
FAAD: system /*これはsrcからビルドした*/
XVID: system /*これもsrcからビルドした*/
FFMPEG: no /*これは成功した事がない*/
Xiph OGG: no
Creating config.mak
Done - type 'make help' for make info, 'make' to build
$ make help欲しいのはmp4boxだけなのだけど、とりあえずmake appsで。
Input to GPAC make:
depend/dep: builds dependencies (dev only)
all (void): builds main library, programs and plugins
lib: builds GPAC library only (libgpac.so)
apps: builds programs only /*たぶんこれでmp4boxなどのツールだけできる*/
modules: builds modules only
instmoz: build and local install of osmozilla
sggen: builds scene graph generators
clean: clean src repository
distclean: clean src repository and host config file
tar: create GPAC tarball
install: install applications and modules on system
uninstall: uninstall applications and modules
install-lib: install gpac library (dyn and static) and headers <gpac/*.h>, <gpac/modules/*.h> and <gpac/internal/*.h>
uninstall-lib: uninstall gpac library (dyn and static) and headers
to build libgpac documentation, go to gpac/doc and type 'doxygen'
$ make appsコケタ。しかも当のmp4boxで。たぶん黄色いとこがエラーだと思う。
make -C applications all
set -e; for i in mp4box mp4client generators osmo4_wx ; do make -C $i all; done
cc -O3 -no-cpp-precomp -pipe -fomit-frame-pointer -fno-common -fno-strict-aliasing -Wno-pointer-sign -Wall -I/Users/USERNAME/gpac/include -c -o main.o main.c
cc -O3 -no-cpp-precomp -pipe -fomit-frame-pointer -fno-common -fno-strict-aliasing -Wno-pointer-sign -Wall -I/Users/USERNAME/gpac/include -c -o filedump.o filedump.c
cc -O3 -no-cpp-precomp -pipe -fomit-frame-pointer -fno-common -fno-strict-aliasing -Wno-pointer-sign -Wall -I/Users/USERNAME/gpac/include -c -o fileimport.o fileimport.c
cc -Wl,--warn-common -read_only_relocs warning -o ../../bin/gcc/MP4Box main.o filedump.o fileimport.o -L../../bin/gcc -lgpac -lz
/usr/bin/ld: unknown flag: --warn-common
collect2: ld returned 1 exit status
make[2]: *** [MP4Box] Error 1
make[1]: *** [apps] Error 2
make: *** [apps] Error 2
NAMEまで読んだ。Mach objectってたしか、Mach-Oとか書くんだよな。マークオブジェクト。タスケテ海上さん。
ld - Mach object file link editor
リンカ 【linker】~/gpac/applications/mp4box/以下はこうなっている。
コンパイラによって変換されたオブジェクトコードに、必要なライブラリなどを付け加えて実行可能ファイルを生成するプログラム。最近はコン パイラにその機能が統合されていることが多い。
C 言語などの高級言語では、プログラマの書いたソースコードをコンパイラで機械語の集合であるオブジェクトコードに変換するが、単に変換し ただけではコン ピュータ上で実行できる形にはならない。リンカはオブジェクトファイルを解析して、参照している他のオブジェクトファイルやライブラリなどを探し出し、必 要なものを結合して実行形式のファイルを作成する。その際、一つのファイルにすべてを結合する方式を静的リンク、実行時に必要に応じて 外部のファイルをメ モリ上に呼び出す方式を動的リンクという。
$ ls拡張子.cがソースコード。ソース落とした段階では拡張子.oのものは無かったから、これがオブジェクトコードというものだろ~。
CVS filedump.c fileimport.c main.c
Makefile filedump.o fileimport.o main.o
-warn_commons (64-bit only)あるじゃん(なんだその微妙な違いは)。
Causes the static linker to write a diagnostic line about how
common symbols were processed. This is useful for debugging
problems with common symbols.
Manpage of ld http://www.linux.or.jp/JM/html/GNU_binutils/man1/ld.1.html
-warn-common
共通シンボルが他の共通シンボルやシンボル定義と結合されている場合に警告を発する。 Unix のリンカはこの点には比較的寛容であるが、他の OS のリンカにはそうでないものもある。このオプションはグローバルシンボルを結合することによって生じる問題点を見つける手がかりになるかもしれない。
なんとなく似たもん同士という印象を受けた。んじゃどっかにある-warn-commonを探して-warn_commons
に書き換えてみるデスだよ。
さてどこでしょお。
~/gpac/Makefile をCotEditorで開いても-warn-commonはおろかldも無い。ここぢゃない。
~/gpac/applications/mp4box/Makefile も同様。むむむ。しかし一行目にinclude
../../config.makと書いてある、、、怪しいぞキサマッ!
二つ上二つ上、、、居た。
-warn_commonsに書き換えて、もっかいmake apps。
$ make appsぢゃ抜いちゃえ。
make -C applications all
set -e; for i in mp4box mp4client generators osmo4_wx ; do make -C $i all; done
cc -Wl,-warn_commons -read_only_relocs warning -o ../../bin/gcc/MP4Box main.o filedump.o fileimport.o -L../../bin/gcc -lgpac -lz
/usr/bin/ld: unknown flag: -warn_commons
collect2: ld returned 1 exit status
make[2]: *** [MP4Box] Error 1
make[1]: *** [apps] Error 2
make: *** [apps] Error 2
$ make appsなんか全然違うらしい。cc -wl, なんたらって書いてあるから、ccのオプション書式なのかな。cc…Cコンパイラ?
make -C applications all
set -e; for i in mp4box mp4client generators osmo4_wx ; do make -C $i all; done
cc -Wl,-read_only_relocs warning -o ../../bin/gcc/MP4Box main.o filedump.o fileimport.o -L../../bin/gcc -lgpac -lz
powerpc-apple-darwin8-gcc-4.0.1: warning: No such file or directory
make[2]: *** [MP4Box] Error 1
make[1]: *** [apps] Error 2
make: *** [apps] Error 2
Linker Optionsありやんの。
object-file-name -llibrary -no-c++filt (APPLE ONLY) -nostartfiles
-nodefaultlibs -nostdlib -pie -s -static -static-libgcc -shared
-shared-libgcc -symbolic -Wl,option -Xlinker option -u symbol
Manpage of GCC http://www.linux.or.jp/JM/html/GNU_gcc/man1/gcc.1.htmlではman ccにもどってずりずりとスクロールしていくと(なんか飛ぶ方法があると思うが)、
-Wl,option
オプション option をリンカに渡します。option がコンマを含む場合は、それらのコンマで複数のオプションとして分割されます。
-Wl,optionいやそのオプションが知りたいんすけど?むー。
Pass option as an option to the linker. If option contains commas,
it is split into multiple options at the commas.
--extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS [ -Wl,--warn-common]ってあるな。ぢゃ、-Wl,--warn-commonを消してみっか。
$ make apps……………取りあえず、一歩進んだという印象を受けた。
make -C applications all
set -e; for i in mp4box mp4client generators osmo4_wx ; do make -C $i all; done
cc -read_only_relocs warning -o ../../bin/gcc/MP4Box main.o filedump.o fileimport.o -L../../bin/gcc -lgpac -lz
/usr/bin/ld: can't locate file for: -lgpac
collect2: ld returned 1 exit status
make[2]: *** [MP4Box] Error 1
make[1]: *** [apps] Error 2
make: *** [apps] Error 2
【所感】
(*1)MPEG-4 Systems standard (ISO/IEC 14496-1)に基づくマルチメディア・フレームワークです。
これがGPACの本分。フレームワークと言うのは良く解らないが、なんでもイチからCでゴリゴリ書くより、必要に応じて呼び出せるもん作っておい たほうがいいでしょというようなもんらしい。ライブラリとどう違うのか良く解らないが「集合」かな?KTC眼鏡レンチセット、みてーな。プログラマではな いので深入りしない。
MPEG-4 Systemsとはなんぞやということになると、鬼のように幅広く、イメージしにくい。
放送・通信のみならず、インタラクティビティという点ではゲーム(的なもの)も包含しうる。
ってもオイラにイメージが湧くのはそのくらいで、ぜってーその先がある。
その他GPACプロジェクトのドキュメントを読んでも読んでも「なんだかスゴそうだ」という印象以上のもんが持てないのは、ベースがQuickTime(時 間軸を基軸にデジタルデータを管理する考え方、テクノロジーというよりプリンシパル)である事と無縁ではないだろう。
MPEG-4規格自体が、純粋に「デジタルで動画を扱う事」を目指したMPEG-1/2とは根本的に性質が異 なる。
(*2)他にもGPACはMPEG-4 Systemの encoder/multiplexerの機能を持っています。
【ソースコード内のmanがD&Dで開けた】
$ man /Users/USERNAME/gpac/doc/man/gpac.1
NAME
GPAC - MPEG-4 Systems Framework and Software Development Kit
DESCRIPTION
GPAC stands (does it ?) for GPAC Project on Advanced Content. It is an
implementation of the MPEG-4 Systems standard written in ANSI C. GPAC
provides tools for media playback, vector graphics and 3D rendering,
MPEG-4 authoring and distribution. This man page is about configura-
tion of the GPAC framework version 0.4.3.
INTRODUCTION
Some applications in the GPAC framework use a configuration file shared
among modules and reloadable at run time. This file is located in the
user home directory and called ".gpacrc".
The configuration file is based on the win32 .ini file model, ordered
by sections and keys.
A section is declared as [SectionName] , a key is declared as key-
Name=value , the key value is not interpreted and always handled as
ASCII text. Plugins may use the configuration file as well (to avoid
multiple files).
Note on plugin names: Plugin names as given in the configuration file
are names exported by each interface and not name of the physical
library file (.dll/.so ...). The physical file name can however be
used to identify a plugin, it will be replaced by the interface name if
the plugin was successfully loaded.
【~/gpac/applicationsの内容】
そうすっとgpacアプリケーションの一覧がそれなりに埋まる。
名前 | 種類 | メモ |
CVS | folder | |
GPAX | folder | GPAC ActiveX control, IE only |
Makefile | file | |
generators | folder | |
mp42avi | folder | NAME MP42AVI - MPEG-4 BIFS to Video converter SYNOPSIS MP42AVI [options] file DESCRIPTION MP42AVI is a tool to convert a pure MPEG-4 BIFS presentation (no audio, no image, no video) to an uncompressed sequence of images or an uncom- pressed RGB avi file. Pages du manuel Linux |
mp4box | folder | MPEG-4, 3GP, 3GP2コンテントの作成と配布に必要な機能を一つにまとめたツール。 NAME MP4Box - MPEG-4 Systems Toolbox SYNOPSIS MP4Box [options] file [options] DESCRIPTION MP4Box is a multi-purpose command line tool to create and edit MPEG-4 Systems presentations and manipulate ISO-media files (MP4, 3GP, MOV). MP4Box supports file conversion from various raw formats and IsoMe- dia/AVI/MPEG-PS/OGG containers, file hinting for RTP streaming for QuickTime compatible streaming servers, file interleaving, file frag- mentation and track extraction. MP4Box also provides dump tools used to inspect file layout, RTP hint tracks, SDP information, scene composition. It may also be used to con- vert to and from BT/XMT-A/VRML/X3D. MP4Box also features MPEG-4 Systems encoders and decoders for BIFS and OD tools. MP4Box doesn't expect any particular order in options at prompt. |
mp4client | folder | NAME MP4Client - GPAC MPEG-4 command-line Player SYNOPSIS MP4Client [options] [file] DESCRIPTION MP4Client is GPAC command-line player. It supports all GPAC playback features (2D and 3D support, local playback, RTP streaming, HTTP fast- start, many audio and video codecs ...). MP4Client also supports visual extraction to BMP, RAW or AVI (no compression, no audio). |
osmo4_sym | folder | GPAC Players |
osmo4_w32 | folder | GPAC Players |
osmo4_wce | folder | GPAC Players |
osmo4_wx | folder | GPAC Players |
osmophone | folder | GPAC Players |
osmozilla | folder | GPAC plugin for mozilla-based browsers |
standalone2drender | folder | |
testapps | folder | |
v4studio | folder |