Guides·8 min

Bởi Rawnok Jahan

Cách tạo danh sách phát M3U từ đầu (2026)

Hầu hết mọi nội dung viết về tệp M3U đều mặc định rằng bạn được người khác cung cấp sẵn một tệp. Hướng dẫn này thì ngược lại: bạn có một số URL luồng phát hoặc vài nguồn muốn tập hợp vào một chỗ và muốn tự xây dựng danh sách phát.

Tin vui là tệp M3U là văn bản thuần túy. Bạn có thể viết bằng Notepad, TextEdit hoặc bất kỳ trình soạn thảo nào đang có, và tệp sẽ hoạt động trên mọi trình phát đọc được M3U. Không cần phần mềm đặc biệt, công cụ trả phí hay tài khoản. Đây là một trong những định dạng tệp đơn giản nhất.

Dưới đây là toàn bộ quy trình, từ đầu đến cuối.

Nói một cách thực tế: Tuneline là trình phát đa phương tiện dành cho nội dung do bạn cung cấp. Hướng dẫn này chỉ cách xây dựng danh sách phát từ những nguồn mà bạn đã có quyền sử dụng. Ứng dụng không kèm theo danh sách hay nội dung riêng nào.

Tệp M3U thực chất là gì

M3U là mục lục, không phải một vùng chứa. Nó không chứa video hay âm thanh. Đây là một tệp văn bản liệt kê tên và địa chỉ; trình phát sẽ đọc từ trên xuống dưới rồi xây dựng thư viện từ những gì tìm thấy. (Xem giải thích đầy đủ về định dạng tại đây.)

Vì vậy bạn có thể tự viết tệp này. Không có cấu trúc nhị phân, mã kiểm tra tiêu đề hay cơ chế nén nào có thể khiến bạn làm sai. Chỉ cần nhập được một URL là bạn có thể tự tạo danh sách phát.

Danh sách phát tối thiểu có thể sử dụng

M3U hợp lệ đơn giản nhất là danh sách URL, mỗi URL nằm trên một dòng:

https://example.com/stream-one.m3u8
https://example.com/stream-two.m3u8

Cách này thực sự hoạt động. Mọi trình phát đều có thể tải danh sách. Nhưng trải nghiệm rất tệ vì không có tên — bạn chỉ thấy một danh sách URL thô và không biết từng URL là gì.

Vì vậy trên thực tế, mọi người đều dùng M3U mở rộng, bổ sung một dòng siêu dữ liệu trước mỗi mục:

#EXTM3U
#EXTINF:-1,First Source
https://example.com/stream-one.m3u8
#EXTINF:-1,Second Source
https://example.com/stream-two.m3u8

Chỉ cần nắm ba quy tắc là bạn đã hiểu toàn bộ định dạng:

  1. #EXTM3U ở dòng đầu tiên. Dòng duy nhất này cho trình phát biết rằng "hãy chờ siêu dữ liệu bên dưới". Nếu bỏ qua, nhiều trình phát sẽ chuyển sang chế độ URL thuần như trên và làm mất toàn bộ tên bạn đã viết.
  2. #EXTINF: trước mỗi mục. Con số sau dấu hai chấm là thời lượng tính bằng giây. Với nội dung trực tiếp hoặc không có thời hạn kết thúc, hãy dùng -1. Phần sau dấu phẩy là tên hiển thị.
  3. Địa chỉ nằm ngay dòng kế tiếp. Mỗi mục có một địa chỉ, đặt ngay sau dòng #EXTINF tương ứng.

Thêm logo, nhóm và ID hướng dẫn

Định dạng cơ bản giúp bạn có một danh sách hoạt động. Một vài thuộc tính tùy chọn sẽ giúp việc duyệt danh sách dễ chịu hơn. Chúng nằm trong dòng #EXTINF, trước dấu phẩy:

#EXTM3U
#EXTINF:-1 tvg-id="source.one" tvg-logo="https://example.com/logo1.png" group-title="News",First Source
https://example.com/stream-one.m3u8
#EXTINF:-1 tvg-id="source.two" tvg-logo="https://example.com/logo2.png" group-title="Sport",Second Source
https://example.com/stream-two.m3u8

Tác dụng của từng thuộc tính:

Thuộc tínhTác dụngCó nên thiết lập không?
tvg-idLiên kết mục này với một nguồn hướng dẫn (EPG) để dữ liệu lịch phát khớp nhauChỉ cần nếu bạn sử dụng hướng dẫn. Nếu có, đây là thuộc tính quan trọng nhất.
tvg-logoURL của biểu tượng hiển thị cạnh tênNên có. Phải là URL hình ảnh có thể truy cập được.
group-titleDanh mục chứa mục nàyCó. Đây là thứ biến một danh sách phẳng thành menu có thể duyệt.
tvg-nameTên thay thế dùng để khớp với hướng dẫnChỉ dùng khi không có tvg-id và trình phát của bạn khớp theo tên.

group-title là thuộc tính ảnh hưởng nhiều nhất đến trải nghiệm hằng ngày. Trình phát tạo thanh bên danh mục trực tiếp từ thuộc tính này, vì vậy danh sách có các nhóm hợp lý sẽ dễ điều hướng ngay, còn danh sách không có nhóm sẽ khiến bạn phải cuộn mãi. (Tìm hiểu thêm về cách sắp xếp danh sách phát theo danh mục.)

Nếu định gắn hướng dẫn, hãy thiết lập tvg-id ngay khi tạo tệp. Việc tự khớp hướng dẫn với danh sách phát sau đó, qua hàng chục mục, thực sự rất khổ sở. (Cách khớp hướng dẫn hoạt động.)

Từng bước: Tạo tệp

Trên Windows

  1. Mở Notepad. Không dùng Word hay WordPad — bạn cần một trình soạn thảo văn bản thuần túy, không có định dạng.
  2. Nhập danh sách phát theo định dạng ở trên.
  3. Tệp → Lưu dưới dạng.
  4. Đặt Loại tệp thành Tất cả tệp (*.*). Đây là bước mà mọi người thường bỏ qua.
  5. Đặt tên tệp là myplaylist.m3u — nhớ nhập cả phần mở rộng.
  6. Đặt Mã hóa thành UTF-8.

Nếu bỏ qua bước 4, Windows sẽ âm thầm lưu thành myplaylist.m3u.txt và không trình phát nào nhận ra tệp.

Trên macOS

  1. Mở TextEdit.
  2. Định dạng → Chuyển thành văn bản thuần túy (⇧⌘T). TextEdit khởi động ở chế độ văn bản có định dạng, chế độ này sẽ làm hỏng tệp.
  3. Nhập danh sách phát.
  4. Tệp → Lưu, đặt tên là myplaylist.m3u.
  5. Khi macOS hỏi có muốn thêm .txt hay không, hãy chọn Dùng .m3u.

Trên Android hoặc iOS

Các trình soạn thảo văn bản trên điện thoại khác nhau rất nhiều về khả năng cho phép kiểm soát phần mở rộng tệp. Thông thường, cách đỡ phiền nhất là tạo tệp trên máy tính rồi chuyển sang điện thoại, hoặc dùng trình soạn thảo có thể lưu với phần mở rộng tùy ý.

Nên dùng phần mở rộng nào: .m3u hay .m3u8?

Cả hai đều hoạt động. Điểm khác biệt thực tế nằm ở mã hóa văn bản:

  • .m3u8 cho biết nội dung sử dụng UTF-8, nhờ đó tên không phải tiếng Anh, ký tự có dấu và các hệ chữ ngoài Latin được hiển thị chính xác.
  • .m3u theo truyền thống hàm ý một bảng mã cục bộ, cũ hơn và một số phần mềm đời cũ vẫn xử lý theo cách đó.

Hãy lưu dưới dạng .m3u8 với mã hóa UTF-8, trừ khi bạn có lý do cụ thể để làm khác. Mọi trình phát hiện đại đều đọc được cả hai, giúp bạn tránh hoàn toàn lỗi ký tự bị biến dạng. Lưu ý duy nhất: một số ứng dụng TV cũ chỉ nhận .m3u, nên nếu thiết bị nhất quyết không chấp nhận tệp, đổi tên phần mở rộng là một cách thử đơn giản.

Tải danh sách phát

Sau khi lưu, hãy mở tệp bằng một trình phát.

Trên máy tính, hầu hết trình phát có thể mở trực tiếp tệp cục bộ. Trong Tuneline trên macOS, Windows hoặc Linux, hãy chọn Thêm nguồn, chọn tệp cục bộ và tệp sẽ được tải ngay.

Trên điện thoại và TV, cách đáng tin cậy là dùng URL thay vì tệp cục bộ, vì ứng dụng di động và TV bị giới hạn, không thể tùy ý truy cập các vị trí trong hệ thống tệp. Nếu muốn dùng cùng danh sách phát tự tạo trên TV, hãy lưu trữ tệp ở nơi có thể tải qua HTTPS rồi thêm bằng địa chỉ URL. (Xem cách biến M3U cục bộ thành URL tại đây.)

Có một điều bạn nên biết trước khi dành cả giờ để tự tạo tệp: danh sách phát file:// cục bộ không thể đồng bộ lên đám mây. Tính năng đồng bộ đám mây cần một địa chỉ có thể truy cập từ thiết bị khác, còn đường dẫn trên ổ cứng của bạn thì không. Lưu trữ tệp dưới dạng URL giúp bạn sử dụng trên mọi thiết bị của mình.

Năm lỗi làm hỏng danh sách phát tự tạo

Theo thứ tự tương đối về tần suất gây ra lỗi:

  1. Thực chất tệp là .txt. Windows mặc định ẩn phần mở rộng, nên trong Explorer, playlist.m3u.txt trông giống playlist.m3u. Hãy bật Xem → Phần mở rộng tên tệp rồi kiểm tra.
  2. Thiếu #EXTM3U hoặc #EXTM3U không nằm ở dòng đầu tiên. Chỉ cần một dòng trống hoặc ký tự thừa phía trước, trình phát sẽ coi toàn bộ tệp là danh sách URL thuần. Mọi tên bạn nhập sẽ biến mất.
  3. URL không nằm ngay dòng sau #EXTINF tương ứng. Một dòng trống xen giữa sẽ khiến mục đó không được nhận diện.
  4. Văn bản có định dạng thay vì văn bản thuần túy. Tệp được tạo bằng Word hoặc chế độ mặc định của TextEdit sẽ chứa các byte định dạng. Trên màn hình trông vẫn bình thường nhưng khi phân tích sẽ thành dữ liệu rác.
  5. Dấu ngoặc kép cong trong một thuộc tính. Các trình soạn thảo tự động sửa " thành " sẽ tạo ra những thuộc tính mà trình phân tích không nhận diện. Đây là lỗi khó phát hiện nhất vì tệp trông hoàn toàn đúng. Trình soạn thảo văn bản thuần túy không làm vậy; trình xử lý văn bản thì có.

Nếu tệp tải được nhưng không hiển thị gì, hãy làm theo danh sách kiểm tra lỗi kênh không tải được — lúc này định dạng đã đúng và vấn đề nằm ở các địa chỉ.

Mẫu để sao chép

#EXTM3U
#EXTINF:-1 tvg-id="example.news" tvg-logo="https://example.com/news.png" group-title="News",Example News
https://example.com/news/index.m3u8
#EXTINF:-1 tvg-id="example.sport" tvg-logo="https://example.com/sport.png" group-title="Sport",Example Sport
https://example.com/sport/index.m3u8
#EXTINF:-1 group-title="Local",Local Recording Folder Stream
http://192.168.1.50:8080/stream

Thay các địa chỉ bằng địa chỉ của bạn, lưu dưới dạng .m3u8 với mã hóa UTF-8 và bạn sẽ có một danh sách phát hoạt động.

Nguồn lấy từ đâu

Hướng dẫn này tập trung vào định dạng tệp, một cách có chủ đích. Nguồn cung cấp các địa chỉ để đưa vào tệp là một vấn đề riêng và câu trả lời rất quan trọng.

Các nguồn hợp pháp để xây dựng danh sách phát gồm máy chủ phương tiện tại nhà của bạn, camera mạng và bộ mã hóa trong mạng LAN, các luồng FAST và truyền hình miễn phí phát công khai, cũng như bất kỳ dịch vụ nào cung cấp địa chỉ cho gói thuê bao mà bạn thực sự đăng ký. (FAST là gì và cách thêm các kênh FAST.) (Phát nội dung từ Jellyfin, Plex hoặc Emby.)

Trình phát là công cụ dành cho nội dung mà bạn có quyền xem. Việc tạo danh sách phát không làm thay đổi nguồn gốc của nội dung.

Tóm lại

  • M3U là văn bản thuần túy. Bạn chỉ cần Notepad hoặc TextEdit.
  • Đặt #EXTM3U trước, sau đó là #EXTINF:-1,Name và ngay tiếp theo là địa chỉ.
  • group-title giúp bạn dễ duyệt danh sách; tvg-id giúp dữ liệu hướng dẫn khớp đúng.
  • Lưu dưới dạng .m3u8 ở định dạng UTF-8 và đặt trình soạn thảo về chế độ văn bản thuần túy.
  • Lỗi phổ biến nhất là tệp thực chất lại là .txt.

Đã tạo danh sách phát và muốn tìm nơi để chạy danh sách đó? Tải xuống Tuneline — miễn phí, không kèm nội dung có sẵn và chạy được trên macOS, Windows, Linux, iPhone, iPad, Android, Android TV, Google TV và Apple TV.

Chia sẻ bài viết

The fast fix

Get Tuneline free

A clean, no-account media player for macOS, Windows, Linux, Android, TV, and iOS. Bring your own playlist.

Download free

The cross-platform media player behind these answers — new platforms, sync updates, the honest build story. No spam, unsubscribe anytime.

Đọc bài viết này bằng ngôn ngữ khác

Tuneline là một ứng dụng trình phát đa phương tiện. Ứng dụng không cung cấp, không lưu trữ và không phân phối bất kỳ nội dung nào. Bạn tự mang danh sách phát của mình, giống hệt như với VLC.