FC2ブログ

ホーム > AACファイルフォーマット > MP4ファイル音声の書き込み 第1部

MP4ファイル音声の書き込み 第1部



faacエンコーダーを介してWAVE音源データAACストリームにエンコードして、MP4ファイルに書き込むプログラムについて解説します。



MP4ファイルAAC音声メタデータを書き込むためには、faac 1.26のインストールで入手したライブラリの中のmp4v2プロジェクトが必要となります。VisualC++NET2008以上のバージョンがあればそのままでも使えますが、今までVisualC++NET2003で解説してきたので、敢えてVisualC++NET2003で新たにプロジェクトを作成します。

まずはVisualC++NET2003を起動し、メニューから「ファイル」/「新規」/「プロジェクト」を選択して、「新規プロジェクト」ダイヤログを表示させます。テンプレートは「Win32 Project」、プロジェクト名は「libmp4v2-vc7」、「ブラウズ」ボタンを押してプロジェクトフォルダーを作成するフォルダーを「faac」と同じフォルダーに設定し、「OK」ボタンを押します。



「アプリケーションウィザード」の「アプリケーション設定」タブにて、アプリケーション形式は「Static Library」を選択し、追加オプションの「Precompiled Header」のチェックを外し、追加サポートの「MFC」のチェックも外してから「完了」ボタンを押します。



「libmp4v2-vc7」プロジェクトが作成され、内容がソリューションエクスプローラに表示されます。



ソリューションエクスプローラで「libmp4v2-vc7」プロジェクトを右クリックして、ポップアップメニューから「追加」→「既存ファイルの追加」を選択し、「faacフォルダー」→「commonフォルダー」→「mp4v2フォルダー」にあるすべてのファイル(CPPファイルとヘッダーファイル)をプロジェクトに追加します。



ソリューションエクスプローラで「libmp4v2-vc7」プロジェクトを右クリックして、ポップアップメニューから「プロパティ」を選択し、「構成プロパティ」→「C++」→「コード生成」タグで、「Runtime Library」の欄を「Multi-threaded Debug DLL (/MDd)」に変更します。



修正事項

メタデータ読み込みの際に、メモリーリークになる不具合の修正

「mp4property.cpp」の342行目をコメントアウトし、337行目のすぐ後に「MP4Free(m_values[index]);」を追加します。

void MP4StringProperty::Read(MP4File* pFile, u_int32_t index)
{
if (m_implicit) {
return;
}
MP4Free(m_values[index]); ←新たに追加する行
if (m_useCountedFormat) {
m_values[index] = pFile->ReadCountedString(
(m_useUnicode ? 2 : 1), m_useExpandedCount);
} else if (m_fixedLength) {
// MP4Free(m_values[index]); ←コメントアウトする行
m_values[index] = (char*)MP4Calloc(m_fixedLength + 1);
pFile->ReadBytes((u_int8_t*)m_values[index], m_fixedLength);
} else {
m_values[index] = pFile->ReadString();
}
}


最後にビルドしてエラーがなければ成功です。



スポンサーサイト



コメント: 0

この記事へのコメント
ブログ著者にのみ知らせます。

Trackback+Pingback: 2

TrackBack URL for this entry
http://hiroshi0945.blog75.fc2.com/tb.php/79-dfa86df0
Listed below are links to weblogs that reference
MP4ファイル音声の書き込み 第1部 from マルチメディアファイルフォーマット
Trackback from まとめwoネタ速neo 2012-06-26 Tue 04:33:07

まとめtyaiました【MP4ファイル音声の書き込み 第1部】

faacエンコーダーを介してWAVE音源データをAACストリームにエンコードして、MP4ファイルに書き込むプログラムについて解説します。 (more…)

Trackback from まっとめBLOG速報 2012-11-22 Thu 09:17:38

まとめ【MP4ファイル音声の書】

faacエンコーダーを介してWAVE音源データをAACストリームにエンコードして、MP4ファイルに書き込むプログ (more…)

Home > AACファイルフォーマット > MP4ファイル音声の書き込み 第1部

タグクラウド
ブロとも申請フォーム

この人とブロともになる

ブロとも一覧

このページの先頭へ戻る