Bởi Shamir
Tệp .TS là gì và tại sao luồng phát của bạn được tạo từ chúng
Nếu từng xem bên trong tệp kê khai của một luồng phát, bạn hẳn đã thấy danh sách các tệp có đuôi .ts. Nếu từng lấy video từ một thiết bị ghi hoặc card capture, có thể bạn cũng đã nhận được một tệp như vậy. Và nếu từng thử mở nó bằng cách nhấp đúp, rất có thể chẳng có gì xảy ra.
.ts là viết tắt của MPEG Transport Stream, một trong những định dạng quan trọng nhưng ít được nhắc đến nhất trong lĩnh vực video. Định dạng này được thiết kế cho truyền hình vệ tinh và truyền hình mặt đất vào những năm 1990, rồi ba thập kỷ sau trở thành phương tiện truyền tải phần lớn nội dung phát trực tuyến trên internet — vì một lý do thực sự tinh tế mà bạn sẽ thấy rõ ngay sau đây.
Transport Stream thực chất là gì
Hầu hết các định dạng video bạn biết đều là tệp: một vùng chứa có phần tiêu đề ở đầu, chỉ mục cho biết vị trí của mọi thành phần và điểm kết thúc rõ ràng. MP4 hoạt động theo cách này. Nó được thiết kế để lưu trên ổ đĩa và cho phép tua đến các vị trí khác nhau.
Transport stream không có cấu trúc như vậy. Đây là luồng liên tục gồm các gói tin nhỏ, có kích thước cố định — mỗi gói 188 byte — có thể được tiếp nhận tại bất kỳ thời điểm nào.
Thiết kế đó bắt nguồn từ truyền hình phát sóng. Khi chuyển TV sang một kênh, bạn không bắt đầu từ đầu của bất kỳ nội dung nào. Bạn tham gia vào một tín hiệu đang phát, và hình ảnh phải xuất hiện trong vòng một hoặc hai giây. Một định dạng có phần tiêu đề ở đầu và chỉ mục sẽ vô dụng: bởi không có phần đầu.
Vì vậy, transport stream liên tục lặp lại mọi thông tin cần thiết. Cứ sau một khoảng thời gian, nó lại gửi các bảng mô tả những luồng đang có bên trong, đồng thời thường xuyên đưa vào một keyframe hoàn chỉnh để bắt đầu giải mã. Tham gia ở bất kỳ thời điểm nào, bạn cũng có thể bắt đầu phát trong vòng một giây.
Đó là toàn bộ ý tưởng, và nó giải thích cho mọi đặc điểm còn lại.
Tại sao phát trực tuyến trên internet lại sử dụng định dạng này
HLS — phương thức phát trực tuyến đứng sau phần lớn video trực tiếp bạn xem — hoạt động bằng cách chia nội dung thành các phân đoạn ngắn, thường dài từ hai đến mười giây, rồi liệt kê chúng trong tệp kê khai. Trình phát của bạn lần lượt tải từng phân đoạn; nếu kết nối yếu đi, nó sẽ âm thầm yêu cầu phiên bản chất lượng thấp hơn thay vì bị đứng hình.
Để hoạt động như vậy, mỗi phân đoạn phải có thể tự giải mã độc lập. Không thể để phân đoạn 47 phụ thuộc vào phần tiêu đề chỉ tồn tại trong phân đoạn 1, vì trình phát có thể tham gia từ phân đoạn 47 hoặc chuyển chất lượng giữa phân đoạn 46 và 47.
Transport stream vốn đã chính xác là định dạng đó: tự mô tả, có thể bắt đầu ở bất kỳ đâu và chịu được mất dữ liệu. HLS không cần phát minh ra định dạng phân đoạn; nó kế thừa một định dạng phát sóng đã giải quyết cùng vấn đề từ trước khi web có video.
Vì vậy, khi xem bên trong tệp kê khai .m3u8 và thấy:
#EXTINF:6.000,
segment000.ts
#EXTINF:6.000,
segment001.ts
đó là các phần transport stream dài sáu giây. Luồng phát của bạn không phải một video duy nhất. Đó là hàng nghìn video nhỏ được yêu cầu lần lượt. (Vì sao bạn không thể đơn giản "chuyển đổi" một luồng phát sang MP4.)
.TS và .MP4
.ts (MPEG-TS) | .mp4 | |
|---|---|---|
| Cấu trúc | Luồng gói tin liên tục | Tệp có chỉ mục và phần tiêu đề |
| Có thể bắt đầu ở bất kỳ đâu? | Có | Không — cần phần tiêu đề |
| Có chịu được mất dữ liệu không? | Có, đồng bộ lại từ gói tin tiếp theo | Hư hỏng có thể khiến toàn bộ tệp không dùng được |
| Tua đến vị trí khác | Chậm, không có chỉ mục | Nhanh, có chỉ mục |
| Dữ liệu phụ trợ | Cao hơn (phần tiêu đề liên tục được lặp lại) | Thấp hơn |
| Được thiết kế cho | Truyền hình phát sóng và phát trực tiếp | Lưu trữ và phát các tệp hoàn chỉnh |
Không định dạng nào tốt hơn. Chúng giải quyết hai vấn đề trái ngược nhau. .ts được tối ưu cho việc đến nơi; .mp4 được tối ưu cho việc nằm yên.
Đây cũng là lý do việc chuyển đổi giữa hai định dạng về nguyên tắc là thao tác thông thường và không làm giảm chất lượng — phần video và âm thanh bên trong có thể giống hệt nhau, chỉ có lớp vỏ chứa là thay đổi.
Bạn thường gặp tệp .TS ở đâu
- Bên trong các luồng phát HLS. Như đã nói ở trên, đó là các phân đoạn. Bạn không bao giờ nhìn thấy chúng riêng lẻ; trình phát sẽ tải rồi loại bỏ chúng.
- Từ nguồn kiểu Xtream có
output=ts. Tham số đó yêu cầu máy chủ gửi transport stream thô thay vì HLS được chia thành các phân đoạn. (Cách tạo các URL đó.) - Từ phần cứng thu tín hiệu phát sóng. Bộ dò kênh, card capture và thiết bị ghi thường ghi trực tiếp thành
.tsvì đó là dữ liệu nhận được qua sóng. - Trên đĩa Blu-ray, dưới dạng
.m2ts— một định dạng họ hàng gần. - Từ máy quay, đặc biệt là các mẫu AVCHD, vốn cũng sử dụng
.m2ts.
Khi tệp .TS không phát được
Trường hợp này khá phổ biến và thường do một trong năm nguyên nhân.
1. Chưa liên kết định dạng tệp. Windows và macOS không tích hợp trình xử lý cho .ts. Nhấp đúp sẽ không có tác dụng hoặc mở một ứng dụng không phù hợp. Đây không phải lỗi hỏng tệp; tệp hoàn toàn không có vấn đề gì. Hãy mở tệp từ bên trong một trình phát.
Tệ hơn nữa: trên một số hệ thống, .ts được liên kết với trình soạn thảo mã vì đây cũng là phần mở rộng của các tệp mã nguồn TypeScript. Video mở trong trình soạn thảo văn bản trông khó hiểu nhưng không gây hại.
2. Vấn đề nằm ở codec bên trong, không phải vùng chứa. .ts chỉ là lớp vỏ chứa. Nội dung bên trong có thể là MPEG-2 (truyền hình phát sóng đời cũ), H.264 hoặc HEVC. Nếu thiết bị không giải mã được codec, vùng chứa không còn quan trọng. Dấu hiệu điển hình là âm thanh phát được nhưng hình ảnh bị đen. (Màn hình đen nhưng vẫn có tiếng.)
MPEG-2 thường là thủ phạm trong trường hợp này: đây là codec rất cũ, và một số thiết bị hiện đại không còn tích hợp bộ giải mã vì không ai nghĩ rằng mình vẫn cần đến nó.
3. Âm thanh không phổ biến. Transport stream phát sóng thường chứa âm thanh AC-3, E-AC-3 hoặc DTS. Video phát được nhưng không có tiếng. Đây là vấn đề về codec âm thanh hoặc chế độ passthrough, không phải vấn đề của vùng chứa. (Cách khắc phục lỗi không có tiếng.)
4. Dữ liệu thu bị cắt cụt. Việc ghi bị gián đoạn giữa chừng sẽ tạo ra một tệp không hoàn chỉnh. Transport stream có khả năng xuống cấp khá uyển chuyển — thường vẫn phát được đến vị trí bị gián đoạn — và đây là một ưu điểm thực sự so với MP4, vì tệp bị cắt cụt có thể hoàn toàn không mở được.
5. Tua đến vị trí khác chậm, khiến bạn tưởng tệp bị lỗi. Vì không có chỉ mục, trình phát phải quét khi bạn tua trong một tệp .ts lớn. Tua chậm trên một tệp transport stream dung lượng lớn là hành vi bình thường, không phải lỗi.
Phần mềm nào có thể mở tệp này
Đối với tệp .ts trên máy tính, các trình phát đa năng xử lý rất tốt. VLC và mpv là những lựa chọn tiêu chuẩn, cả hai đều có thể mở trực tiếp transport stream, kể cả các tệp khó xử lý. Đó thực sự là điểm mạnh của chúng.
Đối với các luồng phát được truyền qua mạng dưới dạng transport stream — nguồn Xtream có output=ts, danh sách phát HLS gồm các phân đoạn .ts, hoặc một thiết bị trong mạng LAN — đó chính là nhiệm vụ cốt lõi của trình phát, và Tuneline có thể xử lý trên macOS, Windows, Linux, iPhone, iPad, Android, Android TV, Google TV và Apple TV.
Để nói chính xác về ranh giới này, vì nó rất quan trọng: Tuneline mở danh sách phát và luồng phát, không mở các tệp video cục bộ. Nếu có một tệp .ts nằm trên ổ cứng, hãy dùng VLC hoặc mpv. Nếu transport stream đang được truyền đến qua mạng, đó mới là trường hợp Tuneline được thiết kế để xử lý.
Câu hỏi về output=ts và output=m3u8
Nếu nguồn của bạn cho phép lựa chọn — và các nguồn kiểu Xtream có — bạn nên hiểu rõ điều này, vì chuyển đổi có thể khắc phục nhiều vấn đề phát.
output=ts cung cấp luồng liên tục thô. Khả năng tương thích rộng nhất, hầu như hoạt động ở mọi nơi, nhưng không có bitrate thích ứng. Khi kết nối yếu, luồng sẽ bị đứng thay vì tự giảm chất lượng.
output=m3u8 cung cấp HLS được chia thành các phân đoạn. Hoạt động ổn định hơn trên các kết nối không đáng tin cậy vì trình phát có thể chuyển xuống chất lượng thấp hơn giữa chừng, đồng thời nhìn chung phù hợp hơn với mạng di động.
Lời khuyên thực tế: hãy thử m3u8 trước trên điện thoại và mạng Wi-Fi chập chờn; thử ts khi một nội dung hoàn toàn không chịu phát. Đổi tham số chỉ cần sửa một ký tự và có thể giải quyết đáng kể các báo cáo kiểu "không phát được". (Vì sao luồng phát bị giật và cách khắc phục hiệu quả.)
Tóm lại
.tslà MPEG Transport Stream, được xây dựng cho truyền hình phát sóng: một luồng gói tin liên tục mà bạn có thể tham gia ở bất kỳ thời điểm nào.- HLS sử dụng định dạng này vì phát trực tuyến cần các phân đoạn có thể giải mã độc lập, và đó chính xác là đặc tính vốn có của nó.
- Luồng phát trực tiếp của bạn là hàng nghìn phân đoạn .ts ngắn, không phải một tệp duy nhất.
.tscó thể bắt đầu ở bất kỳ đâu và chịu được hư hỏng;.mp4tua nhanh và lưu trữ hiệu quả. Mỗi định dạng phục vụ một mục đích khác nhau.- Lỗi phát thường nằm ở codec bên trong (MPEG-2, HEVC, AC-3), chứ không phải container.
- Tua đến vị trí mong muốn chậm trên
.tscó dung lượng lớn là điều bình thường — vì tệp không có chỉ mục.
Bạn có luồng truyền tải đang được truyền qua mạng? Tải xuống Tuneline — miễn phí, không kèm nội dung, trên mọi nền tảng bạn sở hữu.
Chia sẻ bài viết
Get Tuneline free
A clean, no-account media player for macOS, Windows, Linux, Android, TV, and iOS. Bring your own playlist.
Download freeĐọc bài viết này bằng ngôn ngữ khác
- EnglishWhat Is a .TS File, and Why Your Streams Are Made of Them
- FrançaisQu’est-ce qu’un fichier .TS et pourquoi vos flux en sont constitués
- AfrikaansWat is ’n .TS-lêer, en waarom jou strome daaruit bestaan
- العربيةما هو ملف .TS، ولماذا تتكوّن منه بثوثك؟
- বাংলা.TS ফাইল কী, আর আপনার স্ট্রিমগুলো কেন এগুলো দিয়ে তৈরি
- ČeštinaCo je soubor .TS a proč se z nich skládají vaše streamy
- DanskHvad er en .TS-fil, og hvorfor dine streams består af dem
- DeutschWas ist eine .TS-Datei, und warum deine Streams daraus bestehen
- ΕλληνικάΤι είναι ένα αρχείο .TS και γιατί οι ροές σας αποτελούνται από τέτοια αρχεία
- EspañolQué es un archivo .TS y por qué tus streams están hechos de ellos
- Español (Latinoamérica)Qué es un archivo .TS y por qué tus transmisiones están hechas de ellos
- فارسیفایل .TS چیست و چرا استریمهای شما از آن ساخته شدهاند؟
- SuomiMikä on .TS-tiedosto ja miksi suoratoistosi koostuvat niistä
- हिन्दी.TS फ़ाइल क्या होती है और आपकी स्ट्रीम इन्हीं से क्यों बनी होती है
- MagyarMi az a .TS-fájl, és miért ezekből állnak az adatfolyamok
- ItalianoChe cos'è un file .TS e perché i tuoi stream ne sono composti
- 한국어.TS 파일이란 무엇이며, 스트림은 왜 .TS 파일로 구성될까요
- Bahasa MelayuApakah Fail .TS, dan Mengapa Strim Anda Terhasil Daripadanya
- NederlandsWat is een .TS-bestand en waarom je streams eruit bestaan
- NorskHva er en .TS-fil, og hvorfor består strømmene dine av dem
- PolskiCzym jest plik .TS i dlaczego składają się z nich Twoje strumienie
- PortuguêsO que é um arquivo .TS e por que seus streams são feitos deles
- RomânăCe este un fișier .TS și de ce sunt formate streamurile tale din astfel de fișiere
- РусскийЧто такое файл .TS и почему ваши трансляции состоят из них
- СрпскиŠta je .TS datoteka i zašto se vaši strimovi sastoje od njih
- SvenskaVad är en .TS-fil och varför dina strömmar består av sådana
- TagalogAno ang .TS File, at Bakit Binubuo Ito ng mga Stream Mo
- Türkçe.TS Dosyası Nedir ve Yayınlarınız Neden Bunlardan Oluşur
- Tiếng ViệtTệp .TS là gì và tại sao luồng phát của bạn được tạo từ chúng
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.