iPhoneで撮った動画をPCにコピーしたら「このファイルは再生できません」——iPhoneが既定で使うHEVC(H.265)入りMOVが原因で、Windows標準アプリやTwitter・一部Discordクライアントでは扱えないことがあります。FFmpegならコンテナを差し替えて hvc1 タグを付ける1コマンドで、画質ゼロ劣化で互換性を確保できます。所要時間:8分。

動作確認: FFmpeg 6.1 / Windows 11 / macOS Sonoma / Ubuntu 24.04


この記事でわかること

  1. なぜiPhoneのMOVは他で再生できないのか(HEVC+hev1 vs hvc1
  2. 最速・無劣化:-c copy + -tag:v hvc1 でコンテナ変換
  3. 互換性最優先:H.264に再エンコード
  4. フォルダ一括変換(バッチ処理)
  5. iPhone側で H.264 録画に切り替える設定
  6. 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以降):

  1. 設定 > カメラ > フォーマット
  2. 「互換性優先(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