← ブログに戻る

M3UとM3U8の違い:文字コードとHLSを確認

作業机にノートパソコン、スマートフォン、紙のノートが置かれています。青い文字欄に「M3U 対 M3U8 / プレイリストを理解する」と表示されています。
M3UとM3U8の違いは画質ではありません。

M3UとM3U8の違いは画質ではありません。.m3u8 は一般にUTF-8のプレイリストを示しますが、.m3u だけでは文字コードを判断できません。どちらの拡張子でも、チャンネル一覧なのか1つのHLS配信の一部なのかは内容を確認する必要があります。

適切な入力を選択するには、テキストはどのようにエンコードされるのか、およびそのエントリは何を表すのかという 2 つの質問に答えてください。チャネル ディレクトリは完全なストリームを指すことができます。 HLS プレイリストは、1 つのプレゼンテーションのバリアントまたはメディア セグメントを記述することができます。これらのジョブを混同すると、よく知られた 2 つの接尾辞のどちらかを選択するよりも多くの問題が発生します。

M3U と M3U8 の実質的な違い

拡張子は封筒のラベルのようなものだと考えてください。これはソフトウェアが何を期待するかを決定するのに役立ちますが、内容を書き換えるわけではありません。ファイルには、もっともらしい名前が付けられていても、破損したテキスト、エラー ページ、または受信アプリケーションが受け入れられない構造が含まれている場合があります。

質問 何を検査するか 接尾辞では証明できないもの
名前は正しく表示されますか? ファイルのテキストエンコーディング 実際のバイトが名前と一致すること
これはチャンネルディレクトリですか? そのエントリの意味 すべての M3U8 ファイルにチャンネルがリストされていること
そのメディアは再生されますか? ストリームアクセスとメディアサポート ソースが利用可能であるか、互換性があること

認定ソースがプレーヤーに推奨するファイルから始めます。別のガイドで 1 つの拡張機能が常に優れていると書かれているからといって、名前を変更しないでください。結果が悪化した場合に変更を比較できるように、元のファイルを保存しておいてください。

図解:ファイル名と中身を確認; 拡張子; ファイル形式の識別; 文字コード; テキスト文字; 内容; 実際の構造.
拡張子: ファイル形式の識別; 文字コード: テキスト文字; 内容: 実際の構造.

エンコーディングとチャンネル名

テキスト エンコーディングは、格納されたバイトが文字をどのように表現するかを記述します。 UTF-8 では、アクセント付きの名前と多くの書記体系を 1 つのファイルで表現できます。 「Café Radio」などの名前が予期しない記号として表示される場合は、ストリーム自体を変更する前に、ファイルのエンコードと保存方法を調べてください。

エンコードの問題は、ラインが参照するメディア アドレスを変更せずにラベルに影響を与える可能性があります。逆も可能です。すべてのストリーム URL の有効期限が切れていても、チャネル名は完璧に見える可能性があります。読み取り可能なリストがアクセス可能であることを証明すると仮定するのではなく、何が問題なのかを診断してください。

自分が所有するプレイリストを編集する場合は、保存エンコーディングを公開するプレーンテキスト エディターを使用してください。 UTF-8 を選択し、意図した改行を保持します。ワード プロセッサの視覚的に整然としたドキュメントには、テキスト プレイリストには不適切な書式設定が含まれている場合があります。

ファイル名はエンコード変換ではありません

channels.m3u の名前を channels.m3u8 に変更すると、ファイル名が変わります。元のバイトをデコードすることも、テキストをUTF-8で保存し直すこともありません。変換が必要な場合は、元の正しいエンコードを使用してテキストを開き、別の UTF-8 コピーを保存します。

保存後にいくつかの英語以外の名前、特にすでに破損している文字を確認してください。判読できないテキストを別のエンコードで保存すると、意図した単語が再構築されるのではなく、損傷が保存される可能性があります。名前を 1 文字ずつ推測するのではなく、可能であれば元のソースを復元します。

管理されたプレイリストの場合は、配信元に UTF-8 エクスポートを依頼してください。生成されたファイルを自分で編集すると、1 回のコピーでは機能する可能性がありますが、次回ダウンロードすると消えてしまいます。生成プロセスを修正することは、エクスポートされたラベルを繰り返し修復するよりも耐久性が高くなります。

修復中は、エンコードの変更とラベルの編集を分離してください。まず、目的のエンコーディングでコピーを保存し、名前を変更せずに検査します。次に、別の手順で既知のラベル付けエラーを修正します。両方を一度に変更すると、元のファイルとインポートされたコレクションの間で文字が変更された理由を説明するために必要な証拠が失われる可能性があります。

チャンネル ディレクトリと HLS プレイリストの比較

単純なディレクトリは、読み取り可能な名前をメディア アドレスに関連付けます。この発明された例は、動作しているチャネルではなく、形状を示しています。

#EXTM3U
#EXTINF:-1,Studio Camera
https://media.example.com/studio/master.m3u8
#EXTINF:-1,Training Session
https://media.example.com/training/session.mp4

各URLは、視聴者が選べる項目を示します。最初のURLはHLSの配信、次のURLはメディアファイルを指す例です。プレイリストはその上の階層で参照先をまとめています。動画そのものは含まれず、例示用URLが再生可能になるわけでもありません。

Live365 の簡単な M3U 例は、ヘッダー、表示情報、ストリーム アドレス パターンを示しています。これは、すべてのオプションの IPTV 属性がすべてのプレーヤーで機能することを証明するものではなく、基本的な配置を理解するために使用してください。

HLS マスター プレイリストとメディア プレイリストには異なるジョブがあります

RFC 8216では、HLSマスタープレイリストは異なる品質などのメディアプレイリストを参照し、メディアプレイリストは順番に再生するセグメントを示します。前者はクライアントが再生するバージョンを選ぶために使われ、後者はその再生に必要な各部分を示します。

正確なルールについては、セクション 4 と 4.1 の HLS プレイリスト要件を参照してください。これは情報提供用の RFC です。バイト オーダー マークのない UTF-8 が必要で、.m3u8 または .m3u URI パス、または指定された HTTP コンテンツ タイプを介した識別が許可されます。 HLS は常に .m3u8 サフィックスを必要とするわけではありません。

図解:3 つのプレイリスト構造; チャンネルディレクトリ; ストリームを選択してください; HLSマスタープレイリスト; バリアントを選択; HLSメディアプレイリスト; セグメントを再生する.
チャンネルディレクトリ: ストリームを選択してください; HLSマスタープレイリスト: バリアントを選択; HLSメディアプレイリスト: セグメントを再生する.

読み込む前にファイルの役割を確認する

マスター プレイリストで #EXT-X-STREAM-INF やメディア プレイリストで #EXT-X-TARGETDURATION などのタグが見つかる場合があります。これらは HLS 構造の手がかりとなります。ストリーム マニフェストから見慣れないタグを削除して、チャネル ディレクトリに似たものにしないでください。

プレーヤーは、マニフェストのすべてのセグメントを別個のチャネルとして提示しなくても、HLS アドレスをディレクトリ エントリのメディア ターゲットとして使用できます。これが有益な違いです。視聴者が番組を選択し、再生システムがその内部配信構造を処理します。

インポートによって予期しないセグメント名や見慣れない項目が生成された場合は、目的のディレクトリを指定したか、単一ストリームのマニフェストを指定したかを確認してください。アプリケーションには、メディアを開いたり、チャネル コレクションをインポートしたりするための別のパスが存在する場合があります。それらの存在とラベルは、その特定のアプリで確認する必要があります。

HLS マスター プレイリストが、無関係なテレビ チャンネルの編集可能なメニューであると想定しないでください。そのバリアントは、同じプレゼンテーションの代替エンコーディングを表すことができます。それらの関係を理解せずに削除または再配置すると、ユーザー インターフェイスが簡素化されるだけでなく、再生に損傷を与える可能性があります。

名前を変更すると何が変わるのか、そしてそれによって何が残るのか

新しい拡張子は、デバイスがファイルを開くために提供するアプリケーションに影響を与える可能性があります。また、ドキュメントをホストするときのサーバーの処理にも影響する可能性があります。これらの影響は、正確な名前を使用する理由であり、名前の変更によって互換性のないコンテンツが修復されるという証拠ではありません。

名前を変更しても、認証情報の更新、コーデックの変換、欠落しているメディア セグメントの作成、Web サイトのストリーム化は行われません。ダウンロードしたファイルに HTML サインイン ページが含まれている場合、.m3u8 を追加すると、そのファイルは別の名前で同じサインイン ページとして残ります。

変化 影響を受ける可能性があるもの 別途確認が必要なもの
拡張子の名前を変更する ファイルの識別と関連付け 実際のエンコーディングと構造
UTF-8を使用して保存する 文字表現 正しいラベルと有効な構文
ストリームアドレスを置き換える 要求されたリソース 認証と再生のサポート
表示名を編集する エントリを識別する方法 そのメディアがまだ機能しているかどうか

誤って二重拡張子を避ける

一部のエディタでは、.txt が自動的に追加されます。ファイル マネージャーで channels.m3u8 として表示されるドキュメントには、実際には別の隠されたサフィックスが付いている可能性があります。インポート ピッカーがフルネームを受け入れない場合はフルネームを検査し、今後のエクスポートのために保存オプションを修正します。

また、ローカル ファイルとリモート応答を区別します。 URL は、パスが見慣れない場合でも、プレイリスト テキストを返すことができます。逆に、プレイリスト拡張子で終わる URL はエラー ドキュメントを返す可能性があります。実際の応答と受信側プレーヤーがサポートする入力によって、何が起こるかが決まります。

編集したディレクトリを配布する前に、受信者が受け取るのと同じ形式で確認してください。エディターのプレビューはインポート結果ではなく、キャッシュされた古いコピーは新しいファイルではありません。試用版にわかりやすい名前を付けて、その内容をローカルで確認します。これにより、拡張子のみが変更されたと信じて 2 つの異なるバージョンを比較することを回避できます。

どのファイルを使用する必要がありますか?

プレーヤーに対して配信元がサポートするエクスポートを使用し、独自のディレクトリを編集するときに UTF-8 テキストをそのまま保持します。利用許可のあるストリーム アドレスから小さなコレクションを構築する必要がある場合は、別のガイドに従って独自の M3U ファイルを作成してください。

図解:選択したファイルを確認します; 文字化けのない名前; 正しい文字; 対応するファイル構造; 想定した項目; インポート成功; 次にテスト再生.
読みやすい名前: 正しい文字; 対応するファイル構造: 想定した項目; インポート成功: 次にテスト再生.

形式の選択が成功したと判断する前に、3 つのことを確認してください。名前は意図したとおりに表示され、プレーヤーは予想される構造を認識し、選択したエントリが実際に再生されるはずです。これらのチェックはさまざまなレイヤーをテストします。 1 つを渡しても、他のものに代わるものではありません。

たとえば、読み取り可能な名前と空の再生画面は、それ以外の機能を備えたコレクション内の読み取り不可能な名前とは異なる調査を示唆しています。故障の範囲を狭めながら、動作している部分を維持します。 1 つのソース アドレスが変更されたからといって、ディレクトリ全体を再構築する必要はありません。

プレイリストをインポートする準備ができたら、そのアプリケーションの文書化された URL またはファイル ルートを選択します。オリジナルのクリーンなコピーを保管し、変更内容を記録してください。ソースが両方の形式を提供している場合は、一方の拡張機能の方が本質的に高速であると仮定するのではなく、同じ条件で比較してください。

ファイルには、何を変更したか、その理由、後でどのエントリをチェックしたかなど、簡単な変更メモを保存してください。フォーマット修復は、プレイリストの互換性を高めるなどの漠然とした目的ではなく、アクセント付きの名前を保持するなどの特定の目的がある場合に繰り返しやすくなります。

ご自身で用意した対応プレイリストで APTV for iPhone を使用し、読み取り可能なエントリと再生の両方を確認します。拡張機能を変更したり、アプリの機能を購入したりしても、利用できないソースを復元することはできません。

よくある質問

M3U と M3U8 の主な違いは何ですか?

M3U はテキスト プレイリスト形式です。従来、M3U8 拡張子は UTF-8 テキストを識別します。拡張子だけでは、コンテンツがチャンネル ディレクトリであるか、HLS 再生プレイリストであるかはわかりません。構造を検査し、プレーヤーでサポートされている入力を使用してください。

すべての M3U8 ファイルは IPTV チャンネルのリストですか?

いいえ、M3U8 リソースは、個別に名前が付けられたチャネルのディレクトリの代わりに、ストリームの HLS バリアントまたはメディア セグメントを記述することができます。ファイルをインポートまたは編集する前に、ファイルに含まれる内容を確認してください。同様の拡張を行っても、これらの構造は交換可能になりません。

ファイル名を変更するだけで M3U を M3U8 に変換できますか?

名前を変更すると、テキスト エンコーディングやプレイリスト構造ではなく、ファイル名が変更されます。 UTF-8 エンコードが必要な場合は、そのエンコードでテキストを保存し、その内容を確認します。拡張子を変更しても、壊れたストリーム アドレスを修復したり、HTML エラー ページを有効なプレイリストに変換したりすることはできません。

M3U8 はビデオ品質が向上することを意味しますか?

いいえ。プレイリストのテキスト エンコーディングは、ビデオ解像度、圧縮品質、配信の信頼性を確立するものではありません。これらは、参照されたメディアと再生パスに属します。慎重に名前が付けられたプレイリストは依然として貧弱なソースを指す可能性があり、単純なディレクトリは優れたメディアを指す可能性があります。

プレイリストはオフラインでも機能しますか?

参照するメディアがネットワークなしでも利用可能であり、プレーヤーがその構成をサポートしている場合に限ります。オンライン ディレクトリをローカルに保存しても、そのアドレスの背後にあるビデオはダウンロードされません。ローカル ファイルの存在をテストとして使用するのではなく、メディアの場所を確認してください。