فایل M3U چیست؟
M3U (URL MP3) یک فایل لیست پخش صوتی است که با پسوند m3u. ذخیره شده است. M3U یک فایل صوتی واقعی نیست، فقط به فایلهای صوتی و گاهی ویدیویی اشاره میکند. M3U برای استفاده با نرم افزار Winplay3 توسط Fraunhofer توسعه داده شد. همچنین توسط پخش کننده ها و نرم افزارهای مختلف رسانه ای پشتیبانی می شود.
فرمت فایل M3U
هیچ مشخصات رسمی برای فرمت فایل M3U وجود ندارد، این یک استاندارد واقعی است. M3U یک فایل متنی ساده است که اگر متن در کدگذاری غیریونیکد پیشفرض سیستم محلی کدگذاری شده باشد، از پسوند m3u. یا اگر متن دارای کد UTF-8 باشد، از پسوند m3u8 استفاده میکند. هر ورودی در فایل M3U می تواند یکی از موارد زیر باشد:
- مسیر مطلق فایل
- مسیر فایل نسبت به فایل M3U.
- آدرس اینترنتی
Extended M3U
در M3U توسعهیافته، دستورالعملهای اضافی معرفی میشوند که با # شروع میشوند و در صورت داشتن پارامتر با کولون(:) پایان مییابند. در زیر لیستی از دستورالعمل ها برای M3U توسعه یافته ارائه شده است.
- #EXTM3U - هدر فایل است که Extended M3U را نشان می دهد و باید خط اول فایل باشد.
- #EXTENC: - رمزگذاری متن. باید خط 2 فایل باشد.
- #EXTINF: - برای اطلاعات آهنگ و سایر ویژگی های اضافی استفاده می شود.
- #PLAYLIST: - The title of the playlist
- #EXTGRP: - شروع گروه بندی نام
- #EXTALB: - اطلاعات آلبوم
- #EXTART: - هنرمند آلبوم
- #EXTGENRE - ژانر آلبوم
- #EXTM3A - لیست پخش تک فایل برای آهنگ ها یا فصل های آلبوم.
- #EXTBYT: - اندازه فایل بر حسب بایت.
- #EXTBIN: - داده های باینری به دنبال دارد.
- #EXTIMG: - لوگو، جلد یا تصاویر دیگر.
HLS M3U
HLS (HTTP Live Streaming) توسط اپل برای پخش صدا و رادیو به دستگاه های iOS ایجاد شده است. این مبتنی بر M3U توسعه یافته UTF-8 است. در سال 2017 توسط IETF به عنوان RFC 8216 استاندارد شد. برچسب های لیست پخش HLS با #EXT-X- شروع می شود. در زیر لیستی از برچسب ها برای HLS ارائه شده است
- EXT-X-VERSION - نشان دهنده نسخه سازگاری فایل بر اساس رسانه و سرور آن است.
- #EXT-X-START: - نقطه شروع ترجیحی لیست پخش را نشان می دهد.
- #EXT-X-PLAYLIST-TYPE: - نوع لیست پخش (EVENT یا VOD) را ارائه می دهد.
- #EXT-X-TARGETDURATION: - حداکثر مدت زمان بخش را مشخص می کند.
- #EXT-X-MEDIA-SEQUENCE: - شماره توالی رسانه را نشان می دهد.
- #EXT-X-INDEPENDENT-SEGMENTS - این نشان می دهد که تمام نمونه های رسانه مستقل هستند و می توانند بدون بخش های دیگر رمزگشایی شوند.
- #EXT-X-MEDIA: - برای مرتبط کردن فهرستهای پخش رسانهای که حاوی رندیشنهای جایگزین از یک محتوا هستند، استفاده میشود.
- #EXT-X-STREAM-INF: - یک Variant Stream را مشخص می کند که بخشی از Renditions است.
- #EXT-X-BYTERANGE: - نشان می دهد که بخش رسانه زیرمجموعه ای از منبعی است که توسط URI آن شناسایی شده است.
- #EXT-X-DISCONTINUITY - ناپیوستگی بین بخش های رسانه قبلی و بعدی را نشان می دهد.
- #EXT-X-DISCONTINUITY-SEQUENCE: - امکان همگام سازی بین برداشت های مختلف از همان Variant Stream یا Variant Stream های مختلف را فراهم می کند.
- #EXT-X-KEY: - نحوه رمزگشایی بخش های رسانه را مشخص می کند.
- #EXT-X-MAP: - نحوه به دست آوردن بخش Initialization Media را مشخص می کند. لازم است که بخش های رسانه قابل اجرا تجزیه و تحلیل شوند.
- #EXT-X-PROGRAM-DATE-TIME: - It associates the first sample of the Media Segment with an absolute date and/or time.
- #EXT-X-DATERANGE: - یک محدوده داده را مرتبط می کند.
- #EXT-XI-FRAMES-ONLY - نشان می دهد که هر بخش رسانه در لیست پخش یک فریم I را توصیف می کند.
- EXT-XI-FRAME-STREAM-INF - نشان می دهد که فایل لیست پخش حاوی فریم های I ارائه چند رسانه ای است.
- #EXT-X-SESSION-DATA: - اجازه می دهد تا داده های جلسه دلخواه باشد در فهرست پخش اصلی انجام می شود.
- #EXT-X-SESSION-KEY: - امکان کلیدهای رمزگذاری را فراهم می کند. مشتری میتواند این کلیدها را بدون خواندن لیست پخش از قبل بارگیری کند.
- #EXT-X-ENDLIST - نشان می دهد که دیگر بخش های رسانه ای به فایل اضافه نخواهد شد.
در زیر لیستی از انواع رسانه های اینترنتی مورد استفاده توسط M3U آمده است:
- application/vnd.apple.mpegurl: تنها نوع رسانه ثبت شده (ثبت شده در سال 2009) برای M3U است که برای مراجعه به لیست های پخش در برنامه های HLS استفاده می شود.
- انواع رسانه اینترنتی زیر توسط برنامه های غیر HLS استفاده می شود.
- “برنامه/مپگورل”
- “application/x-mpegurl”
- “صوتی/مپگورل”
- “صوتی/x-mpegurl”
مثال M3U
این یک نمونه از فایل M3U است.
#EXTM3U
#EXTINF:111, Sample artist name - Sample track title
C:\Music\SampleMusic.mp3
#EXTINF:222,Example Artist name - Example track title
C:\Music\ExampleMusic.mp3