【2026年】無劣化でFFmpegでTS動画をまとめてMP4に変換する方法

FFmpegは、動画の変換・再生・編集ができるオープンソースのフリーソフトです。基本的にコマンドライン(文字入力)で操作しますが、使うコマンドはワンパターンなので、見た目ほど難しくはありません。
この記事では、FFmpegを使ってTSファイルを無劣化(画質・音質を落とさず)でMP4に変換する方法を、初心者向けに手順ごとにわかりやすく解説します。あわせて、変換時につまずきやすいエラーの対処法や、コマンドが苦手な方向けの選択肢も紹介します。
目次
1、TSファイルとは?
2、FFmpegでTSをMP4に変換する前の必須チェック:無劣化で処理できるか確認
3、FFmpegでTSファイルをMP4に変換する方法
4、FFmpegでTSファイルをMP4に変換する際によくあるトラブルと解決方法
5、FFmpegのコマンド操作が難しい方におすすめの選択肢
6、FFmpegでTSファイルをMP4に変換する際によくある質問(FAQ)
7、まとめ
1、TSファイルとは?
TSとは「MPEG2-TS(トランスポートストリーム)」の略称で、動画データを記録するファイル形式(コンテナ)の一つです。標準の拡張子は「.ts」「.mts」「.m2ts」「.m2t」です。
MPEG-2を多重化して伝送する形式のため、サーバー上の動画をストリーミングでリアルタイム再生する際のエラー補正に優れており、地デジ録画やネット配信、ビデオ・オン・デマンドなど放送ベースの用途で広く使われています。
たとえば動画配信サービスの多くは、数秒ごとに分割された.tsファイルを順番にサーバーへアップロードすることで動画を配信しています。そのため、1本の配信に対して大量の.tsファイルが生成される仕組みです。個人で保存・再生する場合は、これらの.tsファイルを1つのMP4ファイルにまとめたほうが、扱いやすく汎用性も高くなります。
2、FFmpegでTSをMP4に変換する前に確認すべきこと
「無劣化で変換したい」という場合、-c copy オプションが使われます。しかし、このオプションが有効なのは、TSファイル内の映像コーデックがMP4コンテナでサポートされている場合に限られます。具体的には、映像が H.264(AVC)または H.265(HEVC) である必要があります。MPEG-2ビデオのTSはMP4コンテナとの相性が悪く、無劣化コピーすると再生できないファイルが生成されることがあります。
変換前に、以下のコマンドで内部のコーデックを確認してください。
- ffprobe -v error -select_streams v:0 -show_entries stream=codec_name -of csv=p=0 対象ファイル.ts
h264 または hevc と表示された場合 ➔ そのまま無劣化コピーが可能です。次のセクションの手順にお進みください。
mpeg2video などが表示された場合 ➔ 再エンコード(変換)が必要です。その際は、以下のようにH.264へ変換してください。
- ffmpeg -i input.ts -c:v libx264 -preset medium -crf 23 -c:a aac -b:a 128k output.mp4
(-crfの値は画質調整用で、23が標準的です。小さくするほど高画質・大容量になります)
この事前チェックにより、変換後の「ファイルが開けない」「音が出ない」といったトラブルを未然に防げます。
3、FFmpegでTSファイルをMP4に変換する方法
FFmpegの -c copy オプションを使えば、映像・音声を再エンコードせずにコンテナだけをTSからMP4に変換できるため、画質・音質の劣化がありません。
@.FFmpegの導入
FFmpegが未インストールの場合は、FFmpeg公式サイトからOSに合ったバイナリをダウンロードし、コマンドから呼び出せるようパスを通しておいてください。すでにインストール済みの方は次のステップに進んでください。
A.Windowsでの変換手順
FFmpegを使うには、コマンドプロンプトを起動する必要があります。
- • 方法1:TSファイルの保存フォルダを開き、アドレスバーに「cmd」と入力してEnterキーを押す
- • 方法2: [Windowsキー]+[R]を同時に押し、「cmd」と入力して「OK」をクリックする。
コマンドプロンプトが起動したら、TSファイルの数に応じて以下のコマンドを入力します。
B.Mac/Linuxでの変換手順
本記事のコマンドはWindowsでの操作を前提としていますが、MacやLinuxをお使いの場合も考え方は同じです。「コマンドプロンプト」の代わりに「ターミナル」を起動し、以下と同じコマンドを入力すれば同様に変換できます。
- # Mac/Linuxのターミナルでも書式は共通
- ffmpeg -i input.ts -c copy output.mp4
C.TSファイルが数個〜数十個の場合
以下の基本コマンドで、複数のTSファイルを1つのMP4にまとめて結合・変換できます。
- ffmpeg -i "concat:index0.ts|index1.ts|index2.ts|index3.ts|index4.ts|index5.ts|index6.ts" -c copy output.mp4
-i:入力ファイルを指定します
concat:複数のファイルを結合します。ファイル名は「|」で区切って指定します
-c copy:映像・音声を再エンコードせずそのままコピーします(無劣化)
D.TSファイルが数十個以上の場合(テキストファイルを使った一括変換)
ファイル数が多いときは、結合したいTSファイルの一覧をテキストファイルにまとめる「concat demuxer」を使います。この方法であれば、ファイル名の順序を自由に制御でき、大量ファイルでも安全に処理できます。
リストファイルを作成する
変換したいTSファイルと同じフォルダに、filelist.txt などのテキストファイルを新規作成し、次のフォーマットでファイル名を記入します。
- file 'index0.ts'
file 'index1.ts'
file 'index2.ts'
ファイル数が多い場合は、対象フォルダでコマンドプロンプトを開き、次のコマンドで一括生成することも可能です。
- (for %i in (*.ts) do @echo file '%i') > filelist.txt
※ファイル名の昇順で結合したい場合は、あらかじめファイル名を連番にしておくか、上記のコマンド出力をテキストエディタで手動整列してください。
FFmpegで結合・変換を実行する
リストファイルが準備できたら、以下のコマンドを実行します。
- ffmpeg -f concat -i filelist.txt -c copy output.mp4
この方法なら、拡張子だけを変える危険な結合とは異なり、MP4コンテナとして正しく出力されます。
E.より確実にトラックを保持する高度なコマンド
より確実に映像・音声トラックをすべて含めたい場合は、以下の高度なコマンドを使用してください。
- ffmpeg -f concat -i filelist.txt -c:v copy -c:a copy -map 0:v -map 0:a output.mp4
-f:変換フォーマットを指定します
-c:v copy:映像コーデックをコピーします(無劣化)
-c:a copy:音声コーデックをコピーします(無劣化)
-map 0:v / -map 0:a:映像・音声トラックが複数存在する場合に、すべてを変換対象に含めます
これでほぼ一瞬で、無劣化のまま結合されたMP4ファイルが完成します。
- ご注意
- • FFmpegは、テキストファイル内に記入したファイル名の順番(昇順など)ではなく、上から下へと記載された順番で結合します
- • コマンド実行中に警告メッセージが表示されることがありますが、変換・出力が正常に完了していれば無視して問題ありません
F.補足:MP4→TS変換、m3u8→MP4変換について
FFmpegはTS→MP4だけでなく、逆方向のMP4→TS変換にも対応しています。
- ffmpeg -i video.mp4 output.ts
また、拡張子が「.m3u8」の動画URL(m3u8テキスト+.ts動画で構成されるHLS形式)を直接MP4に変換することも可能です。以下の基本コマンドを使います。
🔗 【m3u8 urlの抽出方法】生配信のm3u8 urlを簡単に取得する手順まで解説!
- ffmpeg -i "https://example.com/playlist.m3u8" -c copy -bsf:a aac_adtstoasc output.mp4
-c copy で無劣化保存を試みます。
-bsf:a aac_adtstoasc は、TS内のAAC音声形式をMP4向けに変換するビットストリームフィルタです。音声が出ない場合に付与してください。
ただし、暗号化(AES-128など)が施されているm3u8には対応できません。その場合は別のツールが必要になります。
4、FFmpegでTSファイルをMP4に変換する際によくあるトラブルと対処法
FFmpegでTSをMP4に変換する際は、いくつかの典型的なつまずきポイントがあります。ここでは実際によく起こる5つのトラブルと解決法をまとめました。
@.コマンドの入力ミス
スラッシュ(/)とバックスラッシュ(\)を取り違えたり、不要なスペースが入ったりすることで、意図した通りに動作しないケースがよくあります。ファイルパスは正確にコピー&ペーストし、余分な空白が入っていないか確認しましょう。
A.出力したMP4ファイルの保存先がわからない
FFmpegは基本的に、コマンドの最後に指定したファイル名(第一引数の出力先)がそのまま保存場所になります。オプション指定は不要です。
例えばA.mp4をB.flvに変換する場合のコマンドは以下の通りです。
- ffmpeg -i A.mp4 B.flv
B.flv の部分を絶対パス(例:C:\Users\name\Desktop\B.flv)で書けば、好きなフォルダに直接出力できます。特に指定しない場合は、コマンドプロンプトを起動したフォルダに出力されます。
B.-acodec copy -vcodec copyで変換するとファイルサイズが小さくなる
TSファイルには映像・音声以外に字幕などのデータが含まれることがあり、映像・音声だけをコピーした場合はそれ以外のデータが失われるためサイズが小さくなります。また、複数の音声トラックを含むTSファイルの場合、上記コマンドでは1トラックしかコピーされないこともサイズダウンの原因です。
ffmpegとセットになっているffprobeコマンドを使うと、ファイルに含まれるデータの種類を確認できます。サイズダウンが気になる場合は、前述の -map 0:a -map 0:v を使い、TSに含まれるすべてのトラックを変換対象に含めてください。
C.変換後の動画が無音になる/赤いエラー(aac bitstream error)が出る
-c copy で変換した際に、画面に大量の赤字で以下のようなエラーが表示され、映像は再生できても音声が入らないことがあります。
- [mp4 @ 00000...] aac bitstream error
これは、TS内の音声(AAC)データの形式が、MP4コンテナの仕様とそのままでは互換しないために起こる現象です。以下のように、音声にだけビットストリームフィルタ(aac_adtstoasc)を適用することで解決できます。
- ffmpeg -i input.ts -c copy -bsf:a aac_adtstoasc output.mp4
映像・音声とも再エンコードせず無劣化のまま、音声だけ正しくMP4に格納し直せるため、画質・音質を保ったままエラーを解消できます。
D.変換後の動画で音声と映像がズレる(音ズレ)
特に地デジ録画などの.m2tsファイルでよく起こる症状です。原因は、TS内部の映像・音声それぞれのタイムスタンプ(PTS)が録画時点ですでに不連続になっており、単純なストリームコピー(-c copy)ではそのズレがMP4にそのまま引き継がれてしまうためです。
この場合は、タイムスタンプを0から振り直す必要があるため、残念ながら完全な無劣化(ストリームコピーのみ)では解決できず、以下のように再エンコードを伴うコマンドで対応します。
- ffmpeg -i input.m2ts -vf "setpts=PTS-STARTPTS" -af "asetpts=PTS-STARTPTS" -c:v libx264 -preset medium -crf 23 -c:a aac output_fixed.mp4
-vf "setpts=PTS-STARTPTS":映像のタイムスタンプを、ストリーム最初のタイムスタンプを基準にリセットします
-af "asetpts=PTS-STARTPTS":音声のタイムスタンプも同様にリセットします
-crf 23:画質の目安となる値です(数値が小さいほど高画質)。必要に応じて調整してください
再エンコードが入るため多少時間はかかりますが、音ズレを根本的に解消できる方法です。
5、FFmpegのコマンド操作が難しい方におすすめの選択肢
FFmpegはTSファイルを無劣化でMP4に変換できる強力なツールですが、コマンド入力に慣れていないと、前章のようなエラーに戸惑うこともあります。パソコンやコマンドの知識に自信がない方は、GUI(画面操作)で完結する動画変換ソフトを使うのも一つの方法です。
主要な変換ツールの比較
| ソフト | 対応OS | 無劣化変換 | 難易度 | 特徴 |
| FFmpeg | Windows/Mac/Linux | ⭕ | 高 (コマンド操作) |
無料・多機能。処理は速いが初心者にはハードルが高め |
| HandBrake | Windows/Mac/Linux | ❌ (再エンコード必須) |
中 (GUI操作) |
無料でGUI操作が可能。ただし映像の無劣化コピーには非対応。音声のみパススルー可 |
| VideoProc Converter AI | Windows/Mac | ⭕ | 低 (数クリックで完結) |
ハードウェアアクセラレーションで高速処理。コマンド知識は不要 |
必ずFFmpegにこだわる必要がなければ、初心者でも扱いやすく動作の軽い動画変換ソフト「VideoProc Converter AI」もおすすめです。
A.VideoProc Converter AIでTSをMP4に変換する手順
- 1VideoProc Converter AIを起動し、ホーム画面で「動画」アイコンをクリックします。
- 2画面左上のメニューから「動画フォルダ」をクリックし、TSファイルの保存フォルダを選択して読み込みます。
- 3画面下部の「フォーマット」をクリックし、表示される出力プロファイルの中から「MP4」を選択します。
- 4「結合」にチェックを入れます(複数ファイルを1本のMP4にまとめたい場合)。
- 5画面右下の「RUN」をクリックすると、変換と出力が始まります。
処理速度は使用するパソコンのスペックに依存しますが、ハードウェアアクセラレーションを利用できる環境では、FFmpegのコマンド処理より体感的に高速に感じられるケースが多いです。
6、FFmpegでTSファイルをMP4に変換する際によくある質問(FAQ)
Q1.TSファイルとMP4ファイル、画質はどちらが良いですか?
コンテナ形式が違うだけで、映像データ自体(コーデック)は基本的に同じです。
本記事で紹介した -c copy による変換では再エンコードを行わないため、画質・音質はTS時点から一切劣化しません。
Q2.「無劣化変換」と「再エンコード」の違いは何ですか?
無劣化変換は、映像・音声データをそのままコピーしてコンテナ(入れ物)だけを変える方法で、処理が高速かつ画質の劣化がありません。再エンコードは映像・音声を一度展開して作り直す方法で、処理に時間がかかり多少の画質劣化を伴いますが、音ズレの修正やファイルサイズの圧縮など、コピーだけでは対応できない調整が可能です。🔗 PC/iPhone/Androidで動画の音ズレを補正する方法:無料ソフト・アプリ4選
Q3.m3u8ファイルもFFmpegでMP4に変換できますか?
可能です。m3u8はテキスト形式のプレイリストファイルで、実体は複数の.tsファイルを束ねたものです。FFmpegはm3u8のURLを直接指定してMP4に変換できます。
本記事の「3-7. 補足」セクションで基本コマンドを紹介していますので、そちらをご参照ください。
Q4.MP4をTSに変換することもできますか?
できます。ffmpeg -i video.mp4 output.ts のように、入力と出力の拡張子を入れ替えるだけで変換可能です。
7、まとめ
FFmpegを使えば、TSファイルを画質・音質を落とさずにMP4へ一括変換できます。基本は -c copy によるコピー変換ですが、事前のコーデック確認と、TSファイルの状態によって発生しうる音声エラー(aac bitstream error)や音ズレへの対処法を知っておくことで、より確実に変換できます。
コマンド操作に不安がある方は、HandBrakeやVideoProc Converter AIのようなGUIソフトを使うのも有効な選択肢です。ご自身の環境やスキルに合わせて、無理のない方法を選んでください。
この記事を書いた人:スズキ
2014年よりDigiartyの編集者として活動。動画・画像編集やAI高画質化など、メディア処理分野を中心にソフトウェアレビューや関連記事を執筆しています。
- メールアドレスが公開されることはありません。 * が付いている欄は必須項目です。