スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

aac無劣化編集batファイル(aacedit FakeAacWav)

aac音声の無劣化編集をするbatファイルのサンプル。無保証です。

このブログに記載してあるavs生成batファイルを利用して生成されるavsファイルのみ使用可能です。(処理の都合上)
別のページには以前から書いてあったものを、独立した記事として作成。

以下のツールを利用して無劣化編集します。
aacedit →http://soranikakaruhashi.blog.fc2.com/blog-entry-87.html
FakeAacWav(FAW) →http://soranikakaruhashi.blog.fc2.com/blog-entry-86.html


もくじ
1. 処理の流れ
1. Lossless_Audio_Edit.batの使い方。
2. 処理の流れ
3. 入力するavsファイルの例
4. Lossless_Audio_Edit.bat



1. Lossless_Audio_Edit.batの使い方。
(1)つかいかた
Lossless_Audio_Edit.batに、avsファイル(※)をドラッグアンドドロップすれば、処理開始。
具体的な中身は、4.を参照。

※このブログに記載してあるavs生成batファイルを利用して生成されるavsファイルのみ使用可能です。(処理の都合上)

(2)必要なファイルのパス等
aaceditとFakeAacWavのパスは、Lossless_Audio_Edit.bat内に記述してあります。
その記載通りに、配置します。
違う場所を指定したり、変更が必要ならテキストエディタで編集。

(3)ほかのbatファイルとの連携
また、このLossless_Audio_Edit.batは、
このブログ内のエンコード用のbatファイルで呼び出されるように指定してあります。
※エンコードするたびに、aaceditとFakeAacWavで処理したそれぞれの音声ファイルがフォルダ内にたまっていきます。
※予備の音声。もしくは主音声として利用する目的。
※いらない場合はコメントアウトしたり、作成された音声ファイルを削除してしまうようにするなりします。



2. 処理の流れ
予約録画ファイル.avs ※具体例は3.参照。
 (Trim しておく。たとえば、アニメのOPなどの部分のみTrimし、batが使えるか練習してみる。)
Lossless_Audio_Edit.bat
※このブログに記載してあるavs生成batファイルを利用して生成されるavsファイルのみ使用可能です。(処理の都合上)

①aaceditで編集
 ・Trim値入りのavsファイルから、aacファイルのパスを読み取ります
 ・avsに含まれるTrim値をつかって、編集します。

②FakeAacWavで編集
 ・avsファイルから、aacファイルのパスを読み取ります
 ・aacをFakeAacWav形式に変換します(拡張子は.wav)
・このwavファイル(FakeAacWav形式)をつかったavsファイルを生成します。(FAWの編集に必要なため)
・このavsファイルをつかって、(FakeAacWav形式のwavを編集します)
 ・編集済みのwavファイル(FakeAacWav形式)をaacに変換し直して戻します。



3. 入力するavsファイルの例
avs生成batファイルを利用して作成したavsに、Trim値を記述しただけです。
このavsファイルをにドラッグアンドドロップすれば処理開始します。

動作確認するなら、たとえば、アニメのOPやEDなどの部分のみTrimしておき、batが使えるか練習してみる。
(1)入力するavsファイル(サンプル)


(2)FAW処理の際に生成されるavsファイル(サンプル)
 ※batファイルに、(1)のavsファイルを入力すれば、処理の途中で生成されます。





4. Lossless_Audio_Edit.bat
@echo off
setlocal
rem http://soranikakaruhashi.blog.fc2.com/blog-entry-100.html#Lossless



rem ### ファイルパス設定(remの行はコメントアウト)
rem ■FakeAacWaveのパス(fawclの方はウィンドウ表示なし)
rem  どちらか1つを指定。
rem ①batファイルと同じフォルダにある場合。
rem set faw_path="%~dp0fawcl.exe"
rem ②その他の場所にする場合
set faw_path="C:\DTV\up1009FakeAacWav Ver0.28+fawcl0.11\fawcl.exe"
rem set faw_path="C:\DTV\up1009FakeAacWav Ver0.28+fawcl0.11\FAW.exe"

rem ■aaceditのパス
rem  どちらか1つを指定。
rem ①batファイルと同じエンコードフォルダ内にある場合。
set aacedit_path="%~dp0aacedit2.exe"
rem ②その他の場所にする場合の例
rem set aacedit_path="C:\DTV\up0914aacedit改+3\aacedit2.exe"



echo ####################
echo ###  Delay値の取得
echo ####################

for /F "tokens=* delims=" %%l in ('findstr /R "bassAudioSource" "%~1"') do set AudioSource=%%l

echo #####
echo AudioSource
echo %AudioSource%
echo #####

rem 音声ファイルのパスの抽出
set AudioSource_path=%AudioSource%

rem m文字目から、最後まで
set AudioSource_path=%AudioSource_path:~23%
set AudioSource_path=%AudioSource_path:("=%
set AudioSource_path=%AudioSource_path:")=%

echo #####
echo 音声ファイルのパス
echo AudioSource_path 
echo %AudioSource_path%
echo #####

rem Delay値の取得
rem Delay_secondの値を取得する(強引な手法で・・・。)
set Delay_second=%AudioSource_path:~-14,10%

rem 不要な文字を消す。(2とか-2とかの値が得られる)
set Delay_second=%Delay_second:D=%
set Delay_second=%Delay_second:E=%
set Delay_second=%Delay_second:L=%
set Delay_second=%Delay_second:A=%
set Delay_second=%Delay_second:Y=%
set Delay_second=%Delay_second:.=%
set Delay_second=%Delay_second:m=%
set Delay_second=%Delay_second:s=%
set Delay_second=%Delay_second: =%


rem _aには、元の値、_bには絶対値
set Delay_second_a=%Delay_second%
set Delay_second_b=%Delay_second:-=%

echo Delay値
echo "Delay_second_a" = %Delay_second_a%





echo ####################
echo ###  aac処理
echo ###  (aaceditの利用)
echo ####################

rem aacedit2 -d %Delay_second_a% -t "D:\encode20111228\%~n1_aacedit.avs" -o "D:\encode20111228\%~n1_aacedit_Trim.aac" %AudioSource_path%
rem echo aacedit2 -d %Delay_second_a% -t "D:\encode20111228\%~n1_aacedit.avs" -o "D:\encode20111228\%~n1_aacedit_Trim.aac" %AudioSource_path%

rem aacedit2 -d %Delay_second_a% -t %1 -o "D:\encode20111228\%~n1_aacedit_Trim.aac" "%AudioSource_path%"

cd /d %~dp0
echo ### aaceditを利用します。
echo %aacedit_path% -d %Delay_second_a% -t "%~1" -o "%~n1_aacedit_Trim.aac" "%AudioSource_path%"
echo ### 
%aacedit_path% -d %Delay_second_a% -t "%~1" -o "%~n1_aacedit_Trim.aac" "%AudioSource_path%"
mp4box -mpeg4 -add "%~n1_aacedit_Trim.aac" -new "%~n1_aacedit_Trim.m4a"


echo ####################
echo ###  aac処理
echo ###  (FakeAacWavの利用)
echo ####################

echo FakeAacWavファイルの作成(偽装wavファイル作成)
rem とりあえず暫定版
set avs_file_FAW="%~dp0%~n1_FAW.avs"

copy "%AudioSource_path%" %~dp0testaac.aac

rem ■FAW サイズ指定
rem FAW 1/1サイズ サイズが大。up0570 aviutl 古いバージョンのFAWぷれびゅ~プラグインでも使える。 
rem %faw_path% -s1 -d%Delay_second_a% testaac.aac testaac_FAW.wav
rem FAW 1/2サイズ サイズ半分。古いバージョンのぷれびゅ~プラグインでは対応してない。
%faw_path% -s2 -d%Delay_second_a% testaac.aac testaac_FAW.wav

echo FAWのTrim用のavsファイルを用意

echo 映像部分(MPEG2Source or MPEG2VIDEO)
type "%~1" | findstr "MPEG2"
type "%~1" | findstr "MPEG2" >%avs_file_FAW%

echo 音声部分(WavSource)
echo %~dp0testaac_FAW.wav

rem echo audio = WavSource^("%~dpn1_FAW.wav"^)>> %avs_file_FAW%
echo audio = WavSource^("%~dp0testaac_FAW.wav"^)>> %avs_file_FAW%
echo.>> %avs_file_FAW%
echo AudioDub^(video, audio^)>> %avs_file_FAW%
echo.>> %avs_file_FAW%

echo Trim処理の把握。
echo ##### CMカット。本編等残す部分のみ範囲選択、フレーム単位で指定します。>> %avs_file_FAW%
rem type test.txt | findstr abc
type "%~1" | findstr "Trim(" >>%avs_file_FAW%

echo.>> %avs_file_FAW%



echo ####################
echo FAWをavsでTrim
echo ####################
rem avs2wav FAW⇒FAW_Trim
avs2wav "%~dp0%~n1_FAW.avs" "testaac_FAW_Trim.wav"



echo ####################
echo Trim済みFAWをaacにもどす
echo ####################
rem FAW_Trim.wav⇒FAW_kaijo.aac
rem "C:\DTV\up1009FakeAacWav Ver0.28+fawcl0.11\FAW.exe" "%~dpn1_FAW_Trim.wav" "%~dpn1_FAW_Trim_kaijo.aac"
rem "C:\DTV\up1009FakeAacWav Ver0.28+fawcl0.11\FAW.exe" "%~dpn1_FAW.wav" "%~dpn1_FAW_kaijo.aac"
rem %faw_path% "%~dpn1_FAW_Trim.wav" "%encode_path%\%~n1_FAW_Trim_kaijo.aac"
rem %faw_path% "%~n1_FAW_Trim.wav" "%encode_path%\%~n1_FAW_Trim_kaijo.aac"

%faw_path% "testaac_FAW_Trim.wav" "%~n1_FAW_Trim_kaijo.aac"
mp4box -mpeg4 -add "%~n1_FAW_Trim_kaijo.aac" -new "%~n1_FAW_Trim_kaijo.m4a"

del testaac.aac
del testaac_FAW.wav
del testaac_FAW_Trim.wav

:end
endlocal
rem pause
exit /b



5. 音ズレがどうのこうの。
音ズレについて語ることは何もありません。
aacファイル名のDelay値に従って処理しているだけです。無音検索を利用して、音ズレはないか判断すればよいかと。
※具体的には、ts2aacで出力されるDelay値を利用するようにしてあります。
 このts2aacでのDelay値は、DGindexでのaac出力と同じ結果となるように指定してあります。

※映像や音声がドロップした際の処理については、このへんにメモ
 http://soranikakaruhashi.blog.fc2.com/blog-entry-81.html#more
 http://soranikakaruhashi.blog.fc2.com/blog-entry-88.html#more









AmazonベストセラーTOP5
アニメ(BD/DVD)
ライトノベル
コミック
フィギュア・ドール
アニメゲームmusic

コメントの投稿

非公開コメント

プロフィール

空に架かる橋

Author:空に架かる橋
FC2ブログへようこそ!
このブログについて(プライバシーポリシー)
Amazon.co.jpアソシエイト
こちらのブログはたまに各種実験会場となるため、デザイン変更等により表示が遅くなったり、文字が読みにくかったりする場合があります。 そのうちなおりますm(_ _)m
記事の内容に問題がある場合は、ただちに記事内容の利用をやめてください。

カウンター

現在の閲覧者数:

DTV研究
検索フォーム
カテゴリ
PT3 (3)
最新記事
最新コメント
最新トラックバック
月別アーカイブ
Amazonランキングテスト3.2
内容:

カテゴリー:

ノード:

アダルトを
選択しない 表示しない
※カテゴリー変更後に有効
RSSへのリンク
TGテストエリア
テストエリアb
AmazonベストセラーTOP5
アニメ(BD/DVD)
ライトノベル
コミック
フィギュア・ドール
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。