Education·7 min

Ni Shamir

Ano ang .TS File, at Bakit Binubuo Ito ng mga Stream Mo

Kung nakasilip ka na sa loob ng stream manifest, nakakita ka na ng listahan ng mga file na nagtatapos sa .ts. Kung nakapaglabas ka na ng video mula sa recorder o capture card, posibleng isa nito ang napunta sa iyo. At kung sinubukan mo na itong buksan sa pamamagitan ng pag-double-click, malaki ang posibilidad na walang nangyari.

Ang .ts ay nangangahulugang MPEG Transport Stream, at isa ito sa mga format na tahimik ngunit napakahalaga sa video. Dinisenyo ito para sa satellite at terrestrial broadcasting noong dekada ’90, at pagkaraan ng tatlong dekada ay naging tagapagdala ng malaking bahagi ng internet streaming — dahil sa isang talagang eleganteng dahilan kapag naunawaan mo ito.

Ano Talaga ang Transport Stream

Karamihan sa mga video format na alam mo ay mga file: may container na may header sa unahan, index kung nasaan ang lahat, at malinaw na dulo. Ganito gumagana ang MP4. Dinisenyo ito para ilagay sa disk at mahanapan ng partikular na bahagi.

Hindi ganoon ang anyo ng transport stream. Isa itong tuloy-tuloy na daloy ng maliliit at magkakaparehong packet — tig-188 byte — na maaaring salihan anumang oras.

Nagmula sa broadcasting ang desisyong iyon sa disenyo. Kapag nag-tune ka ng telebisyon sa isang channel, hindi ka nagsisimula sa simula ng anuman. Sumasali ka sa signal na umaandar na, at kailangang lumitaw ang larawan sa loob ng isa o dalawang segundo. Walang silbi ang format na may header sa unahan at index: walang unahan.

Kaya patuloy na inuulit ng transport stream ang lahat ng kailangan mo. Paminsan-minsan, ipinapadala nitong muli ang mga table na naglalarawan kung anong mga stream ang nasa loob nito, at regular din itong may kasamang kumpletong keyframe na maaaring pag-umpisahan ng pag-decode. Sumali ka sa anumang punto at makakapagsimula kang mag-play sa loob ng isang segundo.

Iyon ang buong ideya, at ipinapaliwanag nito ang lahat ng iba pa.

Bakit Ito Ginamit ng Internet Streaming

Gumagana ang HLS — ang streaming method sa likod ng karamihan ng live video na pinapanood mo — sa paghahati ng content sa maiikling segment, karaniwan ay dalawa hanggang sampung segundo, at paglilista ng mga ito sa isang manifest. Sunod-sunod na kinukuha ng player mo ang mga segment, at kapag humina ang koneksyon, tahimik itong humihingi ng mga bersyong mas mababa ang kalidad sa halip na huminto.

Para gumana iyon, kailangang puwedeng i-decode nang hiwalay ang bawat segment. Hindi maaaring nakadepende ang segment 47 sa header na nasa segment 1 lang, dahil maaaring sa 47 sumali ang player, o lumipat ng kalidad sa pagitan ng 46 at 47.

Eksaktong ganoong format na ang transport stream. May sariling paglalarawan, puwedeng simulan saanman, at matatag sa pagkawala ng data. Hindi na kailangang mag-imbento ng segment format ng HLS; minana nito ang isang broadcast format na lumulutas na sa parehong problema bago pa magkaroon ng video ang web.

Kaya kapag tumingin ka sa loob ng isang .m3u8 manifest at nakita mo ang:

#EXTINF:6.000,
segment000.ts
#EXTINF:6.000,
segment001.ts

mga anim na segundong transport-stream chunk ang mga iyon. Hindi iisang video ang stream mo. Binubuo ito ng libo-libong maliliit na video na hinihiling nang sunod-sunod. (Bakit ibig sabihin nito ay hindi mo basta maikokonsiderang “i-convert” ang isang stream sa MP4.)

.TS kumpara sa .MP4

.ts (MPEG-TS).mp4
AnyoTuloy-tuloy na daloy ng packetNaka-index na file na may header
Puwede bang magsimula saanman?OoHindi — kailangan ang header
Nakakayanan ba ang pagkawala ng data?Oo, muling nagsi-sync sa susunod na packetMaaaring masira ang buong file kapag napinsala
Paghanap ng partikular na bahagiMabagal, walang indexMabilis, naka-index
OverheadMas mataas (palaging inuulit ang mga header)Mas mababa
Dinisenyo para saBroadcasting at live streamingPag-iimbak at pag-playback ng kumpletong mga file

Walang mas mahusay sa dalawa. Magkasalungat na problema ang nilulutas nila. Ang .ts ay in-optimize para sa pagdating; ang .mp4 ay in-optimize para sa pananatili sa isang lugar.

Kaya karaniwan at walang nawawalang kalidad sa prinsipyo ang pag-convert sa pagitan ng mga ito — maaaring magkapareho ang video at audio sa loob, at wrapper lang ang nagbabago.

Saan Mo Makikita ang mga .TS File

  • Sa loob ng HLS streams. Mga segment, gaya ng nabanggit. Hindi mo sila nakikita nang paisa-isa; kinukuha at itinatapon sila ng player mo.
  • Mula sa Xtream-style source na may output=ts. Hinihiling ng parameter na iyon sa server ang raw transport stream sa halip na naka-segment na HLS. (Paano binubuo ang mga URL na iyon.)
  • Mula sa broadcast capture hardware. Madalas direktang nagsusulat ng .ts ang mga tuner, capture card at recorder, dahil iyon ang dumarating sa ere.
  • Sa mga Blu-ray disc, bilang .m2ts — isang malapit na kamag-anak.
  • Mula sa mga camcorder, lalo na ang mga modelong AVCHD, na gumagamit din ng .m2ts.

Kapag Ayaw Mag-play ng .TS File

Karaniwan ito, at kadalasan ay isa sa limang dahilan.

1. Walang file association. Hindi kasama sa Windows at macOS ang handler para sa .ts. Walang nangyayari kapag nag-double-click, o may bumubukas na hindi kapaki-pakinabang. Hindi ito corruption; walang mali sa file. Buksan ito mula mismo sa loob ng player.

Mas nakakalito: sa ilang system, naka-register ang .ts sa isang code editor dahil extension din ito para sa mga TypeScript source file. Nakakalito pero hindi nakapipinsala ang pagbukas ng video sa text editor.

2. Ang codec sa loob, hindi ang container. Wrapper ang .ts. Maaaring MPEG-2 (mas lumang broadcast), H.264, o HEVC ang nasa loob. Kung hindi kayang i-decode ng device mo ang codec, walang kaugnayan ang container. Ang karaniwang sintomas ay may audio pero itim ang larawan. (Itim ang screen pero gumagana ang audio.)

Madalas na sanhi rito ang MPEG-2: napakaluma na nito, at maaaring hindi na nagsasama ng decoder para rito ang ilang modernong device dahil walang umasa na kakailanganin pa ito.

3. Hindi pangkaraniwang audio. Madalas may AC-3, E-AC-3 o DTS audio ang mga broadcast transport stream. Gumagana ang video pero walang tunog. Problema ito sa audio codec o passthrough, hindi sa container. (Mga solusyon sa kawalan ng tunog.)

4. Putol na capture. Kapag naputol ang pagkuha habang isinusulat ang file, nagkakaroon ng bahagyang file. Maayos na humihina ang transport stream — karaniwan itong magpe-play hanggang sa bahaging naputol — at isa ito sa tunay nitong bentahe kumpara sa MP4, kung saan maaaring hindi na bumukas ang putol na file.

5. Mabagal ang paghanap ng partikular na bahagi, kaya mukhang sira. Dahil walang index, kailangang mag-scan ang player kapag nagse-seek sa malaking .ts. Normal na gawi ang mabagal na pag-seek sa malaking transport stream file, hindi ito depekto.

Anong Software ang Makapagbubukas Nito

Para sa isang .ts file sa desktop mo, mahusay itong hawakan ng mga general-purpose player. Ang VLC at mpv ang karaniwang sagot, at direktang binubuksan ng dalawa ang transport stream, pati ang mga mahirap buksan. Talagang iyan ang mahusay nilang gawin.

Para sa mga stream na ipinapadala bilang transport stream sa network — isang Xtream source na may output=ts, isang HLS playlist ng mga .ts segment, o isang device sa LAN mo — pangunahing gawain iyon ng player, at pinangangasiwaan ito ng Tuneline sa macOS, Windows, Linux, iPhone, iPad, Android, Android TV, Google TV at Apple TV.

Para malinaw ang hangganan, dahil mahalaga ito: Ang Tuneline ay nagbubukas ng mga playlist at stream, hindi ng mga lokal na video file. Kung may .ts recording kang nasa hard drive, gamitin ang VLC o mpv. Kung may transport stream na dumarating sa network, iyon ang gamit ng Tuneline.

Ang Tanong na output=ts kumpara sa output=m3u8

Kung hinahayaan kang pumili ng source mo — at hinahayaan iyon ng Xtream-style sources — mahalagang maunawaan ito, dahil malulutas ng pagpapalit nito ang maraming problema sa pag-playback.

Ang output=ts ay nagbibigay sa iyo ng raw, tuloy-tuloy na stream. Pinakamalawak ang compatibility at halos saanman gumagana, pero walang adaptive bitrate. Sa mahinang koneksyon, hihinto ito sa halip na bumaba ang kalidad.

Ang output=m3u8 ay nagbibigay sa iyo ng naka-segment na HLS. Mas maayos itong gumagana sa hindi maaasahang koneksyon dahil makakababa ang player sa mas mababang kalidad habang nag-stream, at karaniwang mas angkop sa mga mobile network.

Praktikal na payo: subukan muna ang m3u8 sa mga phone at mahinang Wi-Fi; subukan ang ts kapag talagang ayaw mag-play ng isang bagay. Isang character lang ang kailangang baguhin sa parameter, at nalulutas nito ang nakakagulat na dami ng ulat na “ayaw mag-play.” (Bakit nagpuputol-putol ang mga stream, at ano talaga ang nakalulutas dito.)

Ang Pinakabuod

  • Ang .ts ay MPEG Transport Stream, na ginawa para sa broadcasting: isang tuloy-tuloy na daloy ng packet na maaari mong salihan anumang oras.
  • Ginamit ito ng HLS dahil nangangailangan ang streaming ng mga segment na maaaring i-decode nang hiwalay, at eksaktong ganoon na ito mula pa sa simula.
  • Ang live stream mo ay libo-libong maiikling .ts segment, hindi isang file.
  • Nagsisimula ang .ts saanman at nakatatagal sa pinsala; mabilis mag-seek at mahusay mag-imbak ang .mp4. Magkaibang gamit.
  • Karaniwan, ang playback failure ay dahil sa codec sa loob (MPEG-2, HEVC, AC-3), hindi sa container.
  • Normal lang ang mabagal na pag-seek sa malaking .ts — walang index.

May transport stream bang dumarating sa network? I-download ang Tuneline — libre, walang kasamang content, sa lahat ng platform na pagmamay-ari mo.

Ibahagi ang artikulo

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.

Basahin ang artikulong ito sa ibang wika

Ang Tuneline ay isang media player application. Hindi ito nagbibigay, nagho-host, o namamahagi ng anumang content. Ikaw ang nagdadala ng sarili mong playlist, tulad din sa VLC.