昔の iPod classic を、今でも大切に使っています。
カメラが付いていないため、私の生活環境では今でも貴重な音楽・動画プレーヤーです。
ただ、動画を入れようとすると困ったことが起きました。
- 動画によっては音声に「サー」というノイズが乗る
- 変換しても再生できない
- HandBrakeではうまくいかない
色々試した結果、次の組み合わせで解決することができました。
FFmpeg + QAACで音声を作り直す方法に落ち着きました。
この記事では、同じように悩んでいる方へ向けてまとめたいと思います。
- 合法な動画変換
- ノイズの原因
- 実際に成功した手順
- 自動変換スクリプト
動作環境はWindows 11で、Windows PowerShellを使っています。
はじめに法律と注意点について
最初に大事なことだけ書いておきます。
コピーガード解除は違法です
DVDやBlu-rayのコピーガード(CSS/AACSなど)を解除してリッピングする行為は、日本では違法です。この記事では扱いません。
個人録画データの編集は可能
自分がビデオカメラ等で録画したものは著作者はあなたです。個人利用の範囲で編集や変換することは問題ありません。
iPod classicで起きた問題
HandBrakeで普通に変換すると、このような問題がおきました。
- 音声にノイズ
- 音量が小さい
- 途中で再生停止
- 同期ズレ
原因を調べるとさもありなんといった感じでした。
- iPod classic は AAC エンコードとの相性が非常にシビア
特にFFmpeg内蔵AACより、Apple製QAACの方が相性が良いようです。
- 参考法令:著作権法 第30条(私的使用のための複製)e-Govサイト
- 重要ポイント:市販DVD / Blu-rayや他人配信コンテンツのコピーガード解除は違法です
最終的に落ち着いた変換方式
やったことはシンプルです。必要なツールはWindows PowerShellを含めて2つ、手順は3つだけでした。
必要になるツール
- FFmpeg:公式ページ(https://ffmpeg.org/)
# Windows PowerShell
winget install --id=Gyan.FFmpeg -e
- QAAC:公式リリース(GitHub QAAC 公式ページ)
qaacはインストール方法が複雑ですので、ここでは割愛させていただきます。 - Apple公式サポート:iPod classicの再生対応フォーマット
Appleサポート – iPod classic
手順①:音声をWAVで取り出す
まず音声を動画から取り出します。劣化を防ぐために非圧縮WAVにします。
手順②:QAACでAAC化
Apple純正エンコーダ(qaac)でAACに変換します。
これでノイズは消えました。
ここが最大のポイントです。
手順③:映像と音声を再結合
最後に元映像とAACを再結合して完成です。
推奨設定
音声について
- AAC(qaac)
- ステレオ
- 192から320kbps
- 44.1kHz
映像について
- H.264(Baseline / Level 3.0)
- 640 x 480以下
- 30fps固定
- yuv420p
この設定がiPod classicで最も安定していました。
実際に使っている自動変換スクリプト
毎回コマンドを打つのは大変なので、私なりの方法でバッチ化しました。
挙動としてはMKV / MOV / MP4 / WMV / AVIを自動判別して、iPod classicに適したM4Vとして出力するものです。
※ffmpeg.exeのフルパスとqaac.exeのフルパスはご自身の環境に合わせて記入してください。
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
set "FFMPEG=ffmpeg.exeのフルパス"
set "QAAC=qaac.exeのフルパス"
echo ============================================
echo 動画変換 for iPod Classic
echo 対応拡張子 MKV MOV MP4 WMV AVI
echo ============================================
if not exist "%FFMPEG%" (
echo ffmpeg のパスが正しいか確認してください。
pause
exit /b
)
if not exist "%QAAC%" (
echo qaac のパスが正しいか確認してください。
pause
exit /b
)
:: ============================================
:: 1回だけ全ファイルを走査 → 拡張子自動判別
:: ============================================
for %%A in (*) do (
set "ext=%%~xA"
set "ext=!ext:~1!"
if /I "!ext!"=="mkv" call :ProcessFile "%%A"
if /I "!ext!"=="mov" call :ProcessFile "%%A"
if /I "!ext!"=="mp4" call :ProcessFile "%%A"
if /I "!ext!"=="wmv" call :ProcessFile "%%A"
if /I "!ext!"=="avi" call :ProcessFile "%%A"
)
echo ============================================
echo すべての処理が終わりました。
echo ============================================
pause
exit /b
:ProcessFile
set "input=%~1"
set "name=%~n1"
set "wav=%name%_jpn.wav"
set "m4a=%name%_jpn.m4a"
set "out=%name%.m4v"
echo --------------------------------------------
echo 処理中です: %input%
echo --------------------------------------------
:: 日本語音声抽出
"%FFMPEG%" -y -i "%input%" -map 0:a:m:language:jpn -vn -acodec pcm_s16le -ar 44100 -ac 2 "%wav%"
if not exist "%wav%" (
echo 日本語トラックが無いのでスキップします。
goto :eof
)
:: WAV → M4A
"%QAAC%" "%wav%" --tvbr 55 -o "%m4a%"
if not exist "%m4a%" (
echo M4A 作成失敗。
del "%wav%" >nul 2>nul
goto :eof
)
:: 映像 + 音声 再結合
"%FFMPEG%" -y -i "%input%" -i "%m4a%" -map 0:v:0 -map 1:a:0 ^
-c:v libx264 -profile:v baseline -level 3.0 -pix_fmt yuv420p ^
-vf "scale=640:480:force_original_aspect_ratio=decrease,pad=640:480:(ow-iw)/2:(oh-ih)/2" -r 30 ^
-c:a copy "%out%"
del "%wav%" >nul 2>nul
echo 完了: %out%
echo.
goto :eof
失敗談(参考までに)
実は最初、かなり遠回りしました。
- HandBrakeはノイズが出てしまう
- 直接AACは音割れしてしまった
- ビットレート変更も改善せず
「iPod classicが古いから仕方がないのかな」と諦めかけたこともありました。
しかし音声の変換をQAACに変えただけで一発解決しました。
この世にはブレイクスルーというものがあるものだな、としみじみ思いました。
FAQ
- Q用途が私用ならばDVDやBlu-rayをリッピングしてもいいですか?
- A
リッピングをする際必ずコピーガードを外します。違法のためこの記事では扱いません。
- Qnasneで録画したTSをMP4に変換しても大丈夫ですか?
- A
個人利用の範囲で視聴するのは構いませんが、コピーガードは外してはいけません。
- QiPod classicで音声にノイズが出ます。
- A
FFmpeg AACではなく、QAACで再エンコードすると改善します。
- Qスクリプトで対応している拡張子は何ですか?
- A
MKV / MOV / MP4 / WMV / AVIを自動判別して処理します。
まとめ
iPod classicは古い機種ですが、今でも現役で使える良いプレーヤーだと思っています。
今回のポイントを整理すると、次のようになるのではないでしょうか。
- コピーガード解除は違法です
- 個人が録画した映像は著作者が本人であるため編集・変換ができます。
- 音声はQAACで作り直す
- 映像はH.264 Baselineは守らなくてはならない
- FFmpegで映像とWAVと切り離し、qaacでWAVをM4Aに変換、FFmpegで元動画とM4Aを再結合、これで万事解決です
- スクリプト化すると本当に楽になります
大したことはしていませんが、驚くほど安定した動画体験をiPod classicで得られます。
同じようなことで困っている方の一助になれば幸いです。


コメント