x264guiExでサンプリングレート変換

音声のサンプリングレート変換の要望をいただいた。

x264guiEx 2.27では、音声エンコ前後バッチ処理を導入した。これはまさにこのようなときに使用できる。

とても簡単ではあるのだが、念のため例を示しておく。


手順



1. 下記をダウンロードする。
MediaInfoCLI
Sox

2. 後述するバッチファイルを用意し、音声エンコバッチ処理に指定する。

3. 音声エンコの「パイプを使用する」のチェックを外す。

以上により、自動的にSoxを使用したサンプリングレート変換が行われる。

変換先のサンプリングレートは、近い値に適当に決めているが、そのあたりは適当に好みの方法に書き換えたほうがよいと思う。



バッチファイル



MediaInfoCLIとSoxのパスを指定してから使用してください。


@echo off
rem MediaInfo CLI https://mediaarea.net/ja/MediaInfo/Download/Windows
rem Sox http://sourceforge.net/projects/sox/files/sox/

rem ---------- 下記は適切に設定する ---------------------------
set SOX_PATH=C:\ProgramEx\sox\sox.exe
set MEDIAINFO_PATH=C:\ProgramEx\MediaInfo_CLI\MediaInfo.exe
rem ---------------------------------------------------------------


rem wav一時ファイルの場所 (バッチ処理時にx264guiExにより適切に変換される)
set WAV_PATH=%{tmpdir}\%{tmpname}.tmp.wav
set WAV_PATH_CONVERTED=%{tmpdir}\%{tmpname}.tmp_sox.wav
set WAV_SAMPLERATE_TXT=%{tmpdir}\%{tmpname}.tmp.wav.txt

rem wavのサンプリングレートを取得する
"%MEDIAINFO_PATH%" --Inform=Audio;%%SamplingRate%% --LogFile="%WAV_SAMPLERATE_TXT%" "%WAV_PATH%" >nul
for /f "delims=" %%F in (%WAV_SAMPLERATE_TXT%) do set SAMPLING_RATE=%%~F
rem ゴミ掃除
del /q "%WAV_SAMPLERATE_TXT%"

if "%SAMPLING_RATE%" == "" (
echo error!
goto FINISH
)

rem よくあるサンプリングレートなら処理を行わない
for %%f in ( 8000 11025 16000 22050 32000 44100 48000 88200 96000 ) do (
if %%f EQU %SAMPLING_RATE% goto FINISH
)

rem 変換先のサンプリングレートを適当に決定する
set CONVERT_RATE=8000
for %%f in ( 8000 11025 16000 22050 32000 44100 48000 88200 96000 ) do (
if %SAMPLING_RATE% GTR %%f set CONVERT_RATE=%%f
)

rem Soxで変換
"%SOX_PATH%" "%WAV_PATH%" "%WAV_PATH_CONVERTED%" rate -v %CONVERT_RATE%

rem 必ず変換後のwavファイルをもとの位置に戻す
del /q "%WAV_PATH%"
move "%WAV_PATH_CONVERTED%" "%WAV_PATH%"

:FINISH
echo sampling rate conversion finished.



スポンサーサイト

コメントの投稿

非公開コメント

プロフィール

rigaya

Author:rigaya
アニメとか見たり、エンコードしたり。
連絡先(@を半角にしてください!)
rigaya34589@live.jp
github

最新記事
最新コメント
カテゴリ
月別アーカイブ
カウンター
検索フォーム
いろいろ
公開中のAviutlプラグインとかのダウンロード

○Aviutlプラグイン
x264guiEx 2.xx (ミラー)
- x264を使用したH264出力
- x264guiExの導入>
- x264.exeはこちら>

x265guiEx (ミラー)
- x265を使用したH.265/HEVC出力
- x265.exeはこちら>

QSVEnc + QSVEncC (ミラー)
- QuickSyncVideoによるH264出力
- QSVEncCはコマンドライン版
- QSVEncC 導入/使用方法>
- QSVEncCオプション一覧>

NVEnc + NVEncC (ミラー)
- NVIDIAのNVEncによるH264出力
- NVEncCオプション一覧>

VCEEnc + VCEEncC (ミラー)
- AMDのVCEによるH.264出力

ffmpegOut (ミラー)
- ffmpeg/avconvを使用した出力

自動フィールドシフト (ミラー)
- SSE2~AVX2による高速化版
- オリジナル: aji様

エッジレベル調整MT (ミラー)
- エッジレベル調整の並列化/高速化
- SSE2~AVX対応
- オリジナル: まじぽか太郎様

バンディング低減MT (ミラー)
- SSE2~AVX2による高速化版
- オリジナル: まじぽか太郎様

PMD_MT (ミラー)
- SSE2~FMA3による高速化版
- オリジナル: スレ48≫989氏

透過性ロゴ (ミラー)
- SSE2~FMA3によるSIMD版
- オリジナル: MakKi氏

AviutlColor (ミラー)
- BT.2020nc向け色変換プラグイン
- BT.709/BT.601向けも同梱

○その他
x264afs (ミラー)
- x264のafs対応版

aui_indexer (ミラー使い方>)
- lsmashinput.aui/m2v.auiの
 インデックス事前・一括生成

auc_export (ミラー使い方>)
- Aviutl Controlの
 エクスポートプラグイン版
 エクスポートをコマンドから

aup_reseter (ミラー)
- aupプロジェクトファイルの
 終了フラグを一括リセット

CheckBitrate (ミラー, 使い方, ソース)
- ビットレート分布の分析(HEVC対応)

チャプター変換 (ミラー使い方>)
- nero/appleチャプター形式変換

エッジレベル調整 (avisynth)
- Avisynth用エッジレベル調整

メモリ・キャッシュ速度測定
- スレッド数を変えて測定

○ビルドしたものとか
L-SMASH (ミラー)
x264 (ミラー)
x265 (ミラー)

○その他
サンプル動画
その他

○読みもの (ミラー)
Aviutl/x264guiExの色変換
動画関連ダウンロードリンク集
簡易インストーラの概要

○更新停止・公開終了
改造版x264gui
x264guiEx 0.xx
RSSリンクの表示
リンク
QRコード
QR