Education·7 min

द्वारा Shamir

.TS फ़ाइल क्या होती है और आपकी स्ट्रीम इन्हीं से क्यों बनी होती है

अगर आपने कभी किसी स्ट्रीम मैनिफेस्ट के अंदर देखा है, तो आपको .ts पर खत्म होने वाली फ़ाइलों की सूची दिखी होगी। अगर आपने कभी किसी रिकॉर्डर या कैप्चर कार्ड से वीडियो निकाला है, तो संभव है कि आपके पास ऐसी फ़ाइल आई हो। और अगर आपने कभी इसे डबल-क्लिक करके खोलने की कोशिश की है, तो अच्छी-खासी संभावना है कि कुछ भी नहीं हुआ होगा।

.ts का मतलब MPEG Transport Stream है और वीडियो की दुनिया में यह सबसे कम चर्चित, लेकिन बेहद महत्वपूर्ण फ़ॉर्मैट्स में से एक है। इसे 1990 के दशक में सैटेलाइट और टेरेस्ट्रियल ब्रॉडकास्ट के लिए बनाया गया था, और तीन दशक बाद यह इंटरनेट स्ट्रीमिंग के बहुत बड़े हिस्से को संभालने लगा — इसकी वजह तब सचमुच शानदार लगती है, जब आप इसे समझ लेते हैं।

ट्रांसपोर्ट स्ट्रीम वास्तव में क्या होती है

आप जिन ज़्यादातर वीडियो फ़ॉर्मैट्स को जानते हैं, वे फ़ाइलें होती हैं: शुरुआत में एक हेडर, हर चीज़ कहां है इसका इंडेक्स और एक तय अंत। MP4 इसी तरह काम करता है। इसे डिस्क पर रखने और उसमें आगे-पीछे जाने के लिए बनाया गया है।

ट्रांसपोर्ट स्ट्रीम की संरचना ऐसी नहीं होती। यह छोटे, एक जैसे आकार वाले पैकेटों का लगातार बहता प्रवाह होती है — हर पैकेट 188 बाइट का — जिसे किसी भी क्षण से पढ़ना शुरू किया जा सकता है।

यह डिज़ाइन ब्रॉडकास्टिंग से आया। जब आप टेलीविज़न को किसी चैनल पर ट्यून करते हैं, तो आप किसी चीज़ की शुरुआत से शुरू नहीं करते। आप पहले से चल रहे सिग्नल से जुड़ते हैं और तस्वीर एक-दो सेकंड के भीतर दिखाई देनी चाहिए। शुरुआत में हेडर और इंडेक्स वाला फ़ॉर्मैट बेकार होता: यहां कोई शुरुआत होती ही नहीं।

इसलिए ट्रांसपोर्ट स्ट्रीम आपकी ज़रूरत की हर चीज़ को लगातार दोहराती रहती है। कुछ अंतराल पर यह अपने अंदर मौजूद स्ट्रीम्स का विवरण देने वाली टेबल्स फिर भेजती है और नियमित रूप से एक पूरा कीफ़्रेम भी शामिल करती है, जिससे डिकोडिंग शुरू की जा सके। किसी भी बिंदु पर जुड़िए और एक सेकंड के भीतर प्लेबैक शुरू हो सकता है।

यही पूरा विचार है और बाकी सब कुछ इसी से समझ में आता है।

इंटरनेट स्ट्रीमिंग ने इसे क्यों अपनाया

HLS — आपके देखे जाने वाले ज़्यादातर लाइव वीडियो के पीछे काम करने वाली स्ट्रीमिंग विधि — कंटेंट को आम तौर पर दो से दस सेकंड के छोटे हिस्सों में बांटती है और उन्हें एक मैनिफेस्ट में सूचीबद्ध करती है। आपका प्लेयर इन हिस्सों को क्रम से प्राप्त करता है और अगर कनेक्शन कमजोर हो जाए, तो रुकने के बजाय चुपचाप कम क्वालिटी वाले वर्ज़न मांगना शुरू कर देता है।

इसके लिए हर हिस्से का स्वतंत्र रूप से डिकोड किया जा सकना ज़रूरी है। सेगमेंट 47 ऐसे हेडर पर निर्भर नहीं हो सकता, जो केवल सेगमेंट 1 में मौजूद हो, क्योंकि प्लेयर 47 से जुड़ सकता है या 46 और 47 के बीच क्वालिटी बदल सकता है।

ट्रांसपोर्ट स्ट्रीम पहले से ही बिल्कुल ऐसा फ़ॉर्मैट थी। अपने बारे में जानकारी देने वाली, कहीं से भी शुरू की जा सकने वाली और डेटा-हानि के प्रति सहनशील। HLS को सेगमेंट फ़ॉर्मैट ईजाद करने की ज़रूरत नहीं थी; उसे एक ऐसा ब्रॉडकास्ट फ़ॉर्मैट विरासत में मिला था, जो वेब पर वीडियो आने से पहले से ही यही समस्या हल कर रहा था।

इसलिए जब आप किसी .m3u8 मैनिफेस्ट के अंदर देखते हैं और यह दिखाई देता है:

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

ये छह-सेकंड के ट्रांसपोर्ट-स्ट्रीम हिस्से हैं। आपकी स्ट्रीम एक वीडियो नहीं है। यह क्रम से मांगे जाने वाले हज़ारों छोटे वीडियो हैं। (इसी वजह से आप स्ट्रीम को सीधे "MP4 में कन्वर्ट" नहीं कर सकते।)

.TS बनाम .MP4

.ts (MPEG-TS).mp4
संरचनालगातार पैकेट प्रवाहहेडर वाली इंडेक्स की गई फ़ाइल
कहीं से भी शुरू किया जा सकता है?हांनहीं — हेडर की ज़रूरत होती है
डेटा-हानि के बाद भी चलती है?हां, अगले पैकेट पर फिर सिंक हो जाती हैनुकसान से पूरी फ़ाइल खराब हो सकती है
सीक करनाधीमा, कोई इंडेक्स नहींतेज़, इंडेक्स की गई
ओवरहेडज़्यादा (हेडर लगातार दोहराए जाते हैं)कम
किसके लिए बनाई गईब्रॉडकास्ट और लाइव स्ट्रीमिंगपूरी फ़ाइलों के स्टोरेज और प्लेबैक के लिए

इनमें से कोई बेहतर नहीं है। दोनों अलग-अलग समस्याएं हल करते हैं। .ts को आने के लिए ऑप्टिमाइज़ किया गया है; .mp4 को स्थिर रहने के लिए।

इसीलिए इनके बीच कन्वर्ट करना आम तौर पर आसान और सिद्धांत रूप में बिना क्वालिटी घटाए संभव है — अंदर का वीडियो और ऑडियो एक जैसा रह सकता है, केवल बाहरी कंटेनर बदलता है।

असल दुनिया में आपको .TS फ़ाइलें कहां मिलती हैं

  • HLS स्ट्रीम्स के अंदर। ऊपर बताए गए सेगमेंट। आप इन्हें अलग-अलग कभी नहीं देखते; आपका प्लेयर इन्हें प्राप्त करके इस्तेमाल के बाद हटा देता है।
  • output=ts वाले Xtream-शैली के स्रोत से। यह पैरामीटर सर्वर से सेगमेंटेड HLS के बजाय कच्ची ट्रांसपोर्ट स्ट्रीम मांगता है। (ये URL कैसे बनाए जाते हैं।)
  • ब्रॉडकास्ट कैप्चर हार्डवेयर से। ट्यूनर, कैप्चर कार्ड और रिकॉर्डर अक्सर सीधे .ts में लिखते हैं, क्योंकि हवा के ज़रिए प्राप्त डेटा यही होता है।
  • Blu-ray डिस्क पर, .m2ts के रूप में — जो इसका करीबी रिश्तेदार है।
  • कैमकॉर्डर से, खासकर AVCHD मॉडल्स से, जो .m2ts का इस्तेमाल भी करते हैं।

जब .TS फ़ाइल न चले

यह आम बात है और आम तौर पर इसकी पांच वजहों में से कोई एक होती है।

1. फ़ाइल एसोसिएशन नहीं है। Windows और macOS में .ts के लिए कोई हैंडलर पहले से मौजूद नहीं होता। डबल-क्लिक करने पर कुछ नहीं होता या कोई अनुपयोगी ऐप खुल जाता है। यह करप्शन नहीं है; फ़ाइल में कोई खराबी नहीं है। इसके बजाय इसे प्लेयर के अंदर से खोलें।

इससे भी अजीब बात यह है कि कुछ सिस्टम्स पर .ts किसी कोड एडिटर के साथ रजिस्टर होता है, क्योंकि TypeScript सोर्स फ़ाइलों का एक्सटेंशन भी यही है। वीडियो का टेक्स्ट एडिटर में खुलना उलझन भरा हो सकता है, लेकिन नुकसानदेह नहीं है।

2. समस्या कंटेनर में नहीं, अंदर के कोडेक में है। .ts केवल एक रैपर है। इसके अंदर MPEG-2 (पुराना ब्रॉडकास्ट), H.264 या HEVC हो सकता है। अगर आपका डिवाइस उस कोडेक को डिकोड नहीं कर सकता, तो कंटेनर का कोई महत्व नहीं रह जाता। इसका आम लक्षण है ऑडियो चलना, लेकिन तस्वीर काली रहना। (ब्लैक स्क्रीन लेकिन ऑडियो काम कर रहा है।)

यहां MPEG-2 अक्सर वजह बनता है: यह बहुत पुराना है और कुछ आधुनिक डिवाइस अब इसका डिकोडर शामिल नहीं करते, क्योंकि किसी ने नहीं सोचा था कि इसकी अब भी ज़रूरत पड़ेगी।

3. असामान्य ऑडियो। ब्रॉडकास्ट ट्रांसपोर्ट स्ट्रीम्स में अक्सर AC-3, E-AC-3 या DTS ऑडियो होता है। वीडियो चलता है, लेकिन आवाज़ नहीं आती। यह ऑडियो कोडेक या पासथ्रू की समस्या है, कंटेनर की नहीं। (आवाज़ न आने की समस्याओं के समाधान।)

4. अधूरा कैप्चर। लिखने के बीच में रुक जाने पर आंशिक फ़ाइल बनती है। ट्रांसपोर्ट स्ट्रीम धीरे-धीरे खराब होती है — आम तौर पर ब्रेक तक चल जाती है — और यह MP4 पर इसका एक वास्तविक फ़ायदा है, क्योंकि अधूरी MP4 फ़ाइल शायद खुले ही नहीं।

5. सीक करना धीमा है और यह समस्या जैसा लगता है। कोई इंडेक्स नहीं होता, इसलिए बड़ी .ts फ़ाइल में आगे-पीछे जाने के लिए प्लेयर को स्कैन करना पड़ता है। बड़ी ट्रांसपोर्ट स्ट्रीम फ़ाइल में धीमा सीक करना सामान्य व्यवहार है, कोई खराबी नहीं।

इसे खोलने वाला सॉफ़्टवेयर

डेस्कटॉप पर मौजूद .ts फ़ाइल के लिए सामान्य उपयोग वाले प्लेयर्स इन्हें अच्छी तरह संभाल लेते हैं। VLC और mpv इसके मानक विकल्प हैं और दोनों ट्रांसपोर्ट स्ट्रीम्स को सीधे खोल लेते हैं, मुश्किल वाली फ़ाइलों को भी। यही उनका सबसे मजबूत पक्ष है।

नेटवर्क पर ट्रांसपोर्ट स्ट्रीम के रूप में पहुंचने वाली स्ट्रीम्सoutput=ts वाला Xtream स्रोत, HLS से बनी .ts सेगमेंट्स वाली प्लेलिस्ट या आपके LAN पर मौजूद कोई डिवाइस — प्लेयर का मुख्य काम हैं, और Tuneline macOS, Windows, Linux, iPhone, iPad, Android, Android TV, Google TV और Apple TV पर इन्हें संभालता है।

सीमा को स्पष्ट रूप से समझना ज़रूरी है: Tuneline प्लेलिस्ट और स्ट्रीम्स खोलता है, लोकल वीडियो फ़ाइलें नहीं। अगर आपकी हार्ड ड्राइव पर .ts रिकॉर्डिंग पड़ी है, तो VLC या mpv इस्तेमाल करें। अगर ट्रांसपोर्ट स्ट्रीम नेटवर्क के ज़रिए आ रही है, तो Tuneline इसी काम के लिए बनाया गया है।

output=ts बनाम output=m3u8 का सवाल

अगर आपका स्रोत आपको विकल्प चुनने देता है — और Xtream-शैली के स्रोत ऐसा करते हैं — तो इसे समझना उपयोगी है, क्योंकि इसे बदलने से प्लेबैक की कई समस्याएं हल हो जाती हैं।

output=ts आपको कच्ची, लगातार चलने वाली स्ट्रीम देता है। इसकी संगतता सबसे व्यापक है और यह लगभग हर जगह काम करती है, लेकिन इसमें अडैप्टिव बिटरेट नहीं होता। कमजोर कनेक्शन पर क्वालिटी घटने के बजाय स्ट्रीम रुक जाती है।

output=m3u8 आपको सेगमेंटेड HLS देता है। अविश्वसनीय कनेक्शन पर यह बेहतर काम करता है, क्योंकि प्लेयर स्ट्रीम के बीच में कम क्वालिटी पर जा सकता है और मोबाइल नेटवर्क के लिए भी आम तौर पर अधिक सुविधाजनक है।

व्यावहारिक सलाह: फोन और कमजोर Wi-Fi पर पहले m3u8 आज़माएं; जब कोई चीज़ बिल्कुल चलने से इनकार करे, तो ts आज़माएं। पैरामीटर बदलना केवल एक अक्षर संपादित करने जितना आसान है और इससे "यह नहीं चल रहा" वाली हैरान करने वाली संख्या में समस्याएं हल हो जाती हैं। (स्ट्रीम क्यों अटकती हैं और वास्तव में उन्हें कैसे ठीक करें।)

निचोड़

  • .ts MPEG Transport Stream है, जिसे ब्रॉडकास्ट के लिए बनाया गया है: पैकेटों का लगातार प्रवाह, जिसमें आप किसी भी क्षण जुड़ सकते हैं।
  • HLS ने इसे इसलिए अपनाया क्योंकि स्ट्रीमिंग के लिए स्वतंत्र रूप से डिकोड किए जा सकने वाले सेगमेंट्स चाहिए, और यह फ़ॉर्मैट पहले से ही ऐसा था।
  • आपकी लाइव स्ट्रीम हज़ारों छोटे .ts सेगमेंट्स से बनी होती है, एक फ़ाइल से नहीं।
  • .ts कहीं से भी शुरू हो सकता है और नुकसान के बावजूद चलता रहता है; .mp4 तेज़ी से सीक करता है और स्टोरेज का बेहतर इस्तेमाल करता है। दोनों के काम अलग हैं।
  • प्लेबैक में आने वाली समस्याएँ आमतौर पर कंटेनर की वजह से नहीं, बल्कि उसके अंदर मौजूद कोडेक (MPEG-2, HEVC, AC-3) की वजह से होती हैं।
  • बड़ी .ts में धीमी सीकिंग सामान्य है — इसमें कोई इंडेक्स नहीं होता।

नेटवर्क पर ट्रांसपोर्ट स्ट्रीम आ रही है? Tunelineडाउनलोड करें — मुफ़्त, बिना किसी बंडल सामग्री के, आपके हर प्लेटफ़ॉर्म पर।

यह लेख साझा करें

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.

यह लेख किसी अन्य भाषा में पढ़ें

Tuneline एक मीडिया प्लेयर एप्लिकेशन है। यह कोई भी कंटेंट न तो उपलब्ध कराता है, न होस्ट करता है, न वितरित करता है। अपनी प्लेलिस्ट आप स्वयं लाते हैं, ठीक वैसे ही जैसे VLC के साथ।