iPhoneで撮った動画をPCにコピーしたら「このファイルは再生できません」——iPhoneが既定で使うHEVC(H.265)入りMOVが原因で、Windows標準アプリやTwitter・一部Discordクライアントでは扱えないことがあります。FFmpegならコンテナを差し替えて hvc1 タグを付ける1コマンドで、画質ゼロ劣化で互換性を確保できます。所要時間:8分。
動作確認: FFmpeg 6.1 / Windows 11 / macOS Sonoma / Ubuntu 24.04
この記事でわかること
- なぜiPhoneのMOVは他で再生できないのか(HEVC+
hev1vshvc1) - 最速・無劣化:
-c copy+-tag:v hvc1でコンテナ変換 - 互換性最優先:H.264に再エンコード
- フォルダ一括変換(バッチ処理)
- iPhone側で H.264 録画に切り替える設定
- FAQ
1. なぜiPhoneのMOVは再生できないのか
iOS 11以降、iPhoneは既定で HEVC (H.265) + MOV で動画を保存します。問題は2つあります。
問題A: コンテナ(MOV)の互換性
MOVはAppleの独自コンテナ。技術的にはMP4とほぼ同じ構造ですが、一部の古いプレーヤー・編集ソフトは拒否します。
問題B: hev1 vs hvc1 タグ
H.265は “hev1” と “hvc1” という2種類のコーデックタグで格納できます。
| タグ | 特徴 | 対応環境 |
|---|---|---|
hev1 | デコーダパラメータがビットストリーム内 | 一部の環境で先頭からの再生に失敗 |
hvc1 | デコーダパラメータがコンテナのサンプル記述内 | QuickTime・iOS・Safari・Discordで確実に再生 |
iPhoneは hvc1 で書き出すため通常は問題ないのですが、サードパーティ編集ソフトを通すと hev1 に書き換わることがあり、Windows側の一部プレーヤーで再生できなくなります。FFmpegで hvc1 を明示付与することで解決します(FFmpeg wiki H.265)。
2. 最速・無劣化:リムックス + hvc1 タグ付与
処理は数秒、画質は完全にオリジナルのまま、コンテナだけMP4に差し替えます。
ffmpeg -i iphone.mov -c copy -tag:v hvc1 -movflags +faststart iphone.mp4
-c copy… 再エンコードせずコピー-tag:v hvc1… 映像タグをhvc1に強制(QuickTime互換)-movflags +faststart… moovをファイル先頭に移動(Web・SNS必須)
これで Windows「映画 & テレビ」・macOS QuickTime・Discord・Twitter で確実に再生できるMP4が完成します。
3. 互換性最優先:H.264に再エンコード
HEVCそのものが古い環境(Windows 8時代のPC、Androidの一部、古いスマートTV)では再生できない場合、H.264に変換します。ファイルサイズは約1.5〜2倍に増えますが、事実上すべての環境で再生可能になります。
ffmpeg -i iphone.mov \
-c:v libx264 -crf 20 -preset medium \
-c:a aac -b:a 192k \
-movflags +faststart \
iphone_h264.mp4
-crf 20… 高品質(一般用途は18〜23の範囲)-preset medium… 速度とサイズのバランス-c:a aac -b:a 192k… iPhone音声はすでにAACのことが多いが明示
iPhoneの4K HDR素材はHDR→SDR変換も必要になる場合があります → HDR → SDR トーンマッピング完全ガイド
縦動画を横動画にしたくない場合
iPhoneの縦撮り動画は回転メタデータで縦表示されています。FFmpegで再エンコードすると、この回転情報が壊れて横向きに変換されるケースがあります。回転情報を保ちたい場合:
# 回転メタデータを尊重して再エンコード
ffmpeg -i iphone_vertical.mov \
-c:v libx264 -crf 20 -preset medium \
-c:a aac -b:a 192k \
-movflags +faststart -metadata:s:v rotate=0 \
iphone_vertical.mp4
-metadata:s:v rotate=0 で出力MP4の回転情報をリセットし、代わりにピクセル単位で縦画面にします。詳しくは動画の回転ガイド参照。
4. フォルダ一括変換(バッチ処理)
bash / macOS / Linux
# カレントディレクトリの *.mov をすべて hvc1付MP4 に変換
for f in *.mov *.MOV; do
[ -f "$f" ] || continue
ffmpeg -i "$f" -c copy -tag:v hvc1 -movflags +faststart "${f%.*}.mp4"
done
Windows バッチファイル(.bat)
iphone_to_mp4.bat として保存し、MOVファイル(複数OK)をドラッグ&ドロップ:
@echo off
setlocal enabledelayedexpansion
if "%~1"=="" (
echo 使い方: MOVファイルをこの.batにドラッグしてください
pause & exit /b 1
)
:loop
if "%~1"=="" goto end
ffmpeg -i "%~1" -c copy -tag:v hvc1 -movflags +faststart "%~dpn1.mp4"
shift
goto loop
:end
echo 変換完了!
pause
インストールがまだの方: Windows/macOS/Linux別FFmpegインストール手順を参照。
5. iPhone側で H.264 録画に切り替える
変換の手間を省きたい場合、iPhone本体の設定で撮影時点からH.264 MP4にすることもできます。
設定手順(iOS 17以降):
- 設定 > カメラ > フォーマット
- 「互換性優先(H.264)」を選択
これ以降の録画は H.264 MP4 になります。ただし 4K 60fps や HDR 撮影には HEVC が必須なので、撮影モードによって勝手に HEVC に戻る点に注意(Apple公式:HEVCの使用)。
既存のHEVC動画は変換が必要です。
6. トラブルシューティング
問題1: -tag:v hvc1 を付けたのにWindowsで再生できない
原因: Windowsが標準で HEVC コーデックを持っていない。
解決策: Microsoft Store から HEVC Video Extensions(約120円の有料拡張)をインストール、または H.264 に再エンコード。
問題2: 音声が出ない
原因: iPhoneの一部モデル(特にSE初代)で alac(Apple Lossless)や PCM 録音している場合、MP4で再生できない。
解決策:
ffmpeg -i iphone.mov -c:v copy -tag:v hvc1 -c:a aac -b:a 192k -movflags +faststart output.mp4
音声だけAACに再エンコードする折衷案でほぼ解決します。
問題3: ライブフォト(動画付き写真)のMOVを変換したい
原因: Live Photo のMOVは 1〜3秒の極短動画で、HEIC画像とペアになっている。
解決策: 普通の動画と同じコマンドで変換可能です:
ffmpeg -i IMG_1234.MOV -c copy -tag:v hvc1 IMG_1234.mp4
問題4: Twitterにアップすると音ズレする
原因: iPhoneのVFR(可変フレームレート)動画をそのままアップしたため、Twitter側の再エンコードで音ズレが発生。
解決策: CFR(固定フレームレート)に変換してからアップ:
ffmpeg -i iphone.mov -c:v libx264 -crf 20 -r 30 -c:a aac -b:a 192k -movflags +faststart output.mp4
-r 30 でフレームレートを30fps固定。詳しくはVFRからCFRへの変換参照。
問題5: スローモーション動画が普通の速度になる
原因: iPhoneの240fpsスローモーションは、通常再生時には自動で120fps/60fpsに減速メタデータで再生されるが、FFmpegのリムックスでこの情報が落ちる。
解決策: 明示的に減速する(例:元240fpsを30fpsに):
ffmpeg -i slowmo.mov -filter:v "setpts=8*PTS" -r 30 -c:a copy output.mp4
setpts=8*PTS で再生速度を1/8に。音声を同期させたい場合は -filter:a atempo=0.125 を足します。
FAQ
Q1. .MOV と .mp4 の違いは何ですか?
A. どちらもほぼ同じ構造のコンテナですが、.mov は Apple 発祥の QuickTime 形式、.mp4 は ISO 標準(MPEG-4 Part 14)です。中身のコーデック(H.264、H.265)が同じなら、コンテナだけ差し替えれば相互変換できます。
Q2. リムックスだけでファイルサイズは変わりますか?
A. ほぼ変わりません(±1〜3% 程度)。コンテナのヘッダサイズが違うだけで、映像・音声データはそのままコピーされます。
Q3. Apple純正アプリで変換できますか?
A. macOSの「プレビュー」や「QuickTime Player」で「ファイル > 書き出し」から H.264 に変換できますが、フォーマット選択が限定的(720p固定など)で、バッチ処理もできません。FFmpegの方が柔軟です。
Q4. -tag:v hvc1 を H.264 動画につけてもいいですか?
A. 意味がないので付けません(-tag:v hvc1 はH.265専用)。H.264のMP4は標準で avc1 タグが付与されるため、追加オプション不要です。
Q5. 4K HDRのiPhone動画を普通のPCで見るには?
A. HEVC Main 10 + HDR10メタデータで記録されているため、SDR環境では白飛びします。トーンマッピングが必要:
ffmpeg -i iphone_4k_hdr.mov \
-vf "zscale=t=linear:npl=100,tonemap=hable:desat=0,zscale=p=bt709:t=bt709:m=bt709,format=yuv420p" \
-c:v libx264 -crf 20 -c:a aac -b:a 192k output_sdr.mp4
詳細はHDR → SDR トーンマッピング完全ガイドを参照。
関連リソース
FFmpeg チートシート(PDF):コンテナ変換・タグ付与・フォーマット互換のコマンドをA4一枚に。
関連記事
動作確認: ffmpeg 6.1.1 / Windows 11 + macOS Sonoma + Ubuntu 24.04
一次ソース: ffmpeg.org/ffmpeg.html / FFmpeg wiki H.265 / Apple HT207022