فایل هایی که در یک فیلم قرار دارند (ts.)

چند روز پیش یک شبکه تلویزیونی رو دیدم که ( توشه ) هنگامی که شما شبکه رو تماشا میکردین اگر فلش به ریسیور متصل بود و شبکه رو به مدت 2 ساعت ضبط میکردین, در نهایت فایلی که ضبط شده بود یک ویدیو با پسوند ts بود.

وقتی با VLC اون فایل رو باز کردم دیدم که ریسیور فقط صفحه رو ضبط کرده و نه چیزی بیشتر و خیلی راحت با چند ویدیو پلیر باز کردم و فقط همون صفحه تلویزیو و صداش بود. سعی کردم با Archive Manager ها باز کنم مثل 7z اما با اون ها باز نشدن.
با دستور File خواستم ببینم چه اطلاعاتی از اون فایل به من میده و دیدم که فقط نوشت Data

وقتی با نرم افزار Extractor مخصوصش فایل رو استخراج کردم چیزی که دیدم باورم نمیشد !! .
کلی فایل مثل > پادکست٬ اهنگ٬ موزیک ویدیو٬ PDF, برنامه های اندروید و ویندوز رو استخراج کرد.

الان بینهایت سوال دارم که هرچی گشتم نتونستم درست مقاله چیزی پیدا کنم ):

1- ما وقتی چیزی رو از اینترنت دانلود میکنیم٬ پروتکل TCP از سالم و کامل رسیدن فایل مطمعن میشه٬ اما وقتی چیزی مثل شبکه های تلویزیونی هستند چطوری متوجه میشه که فایل کامل رسیده در صورتی که ممکنه پارازیت روی شبکه بندازن و یا اصلا یک لحظه یکی از جلوی انتن رد بشه ؟

2- وقتی شما تلویزیون رو روشن میکنید ممکنه چند دقیقه از زمان سریالتون گذشته باشه و توی این موقعیت نمیتونید فیلم رو به عقب برگدونید٬ وقتی من شروع به ضبط کردن کردم چطور فایل ها تماما و بدون هیچ جاافتادگی برای من ارسال شد . مثلا فرض کیند طبق برنامه هفتگی, نوشته که شما امروز فایل XوY رو دریافت خواهید کرد و من هر ساعتی شروع به ضب کنم هر دو فایل کامل برای من ارسال میشه.
خب از کجا متوجه میشه چقدر وقته فلش رو وصل کردم ؟ و ایا فایل رو از همون اولش برای من ارسال میکنه یا ؟؟

3- کلا فایل های .ts چه نوع فایلی هستند ؟

4- ایا کار این نوع فایل شبیه کاری هست که توی Steganography انجام میدیم ؟ در واقع مثل یک عکس که داخلش چندین صفحه فایل txt باشه ؟

5- در نهایت چرا من وقتی صفحه رو ضبط کردم داخل فیلمی که ضبظ شده کلی فایل بود ؟

اینجا اصلا درست یا خرابی فایل، اهمیتی نداره. نرم‌افزارهای ضبط، چیزی رو ضبط میکنن که توی تلوزیون نمایش داده میشه. یعنی اون نویزی که میفته یا یه لحظه که تصویر میپره یا هرچیز دیگه‌ای رو به عنوان بخشی از ویدیو در نظر میگیرن. انگار اون نویز، یه افکت هست که با نرم‌افزارهای ویرایش ویدیو روی اون بخش انداختیم!

بنابر این، این چیزهایی که شما فرمودید، جزو اشکالات فایل به حساب نمیان و هر بلایی هم سر تصویر بیاد، فایل باید سالم باشه.
درست نوشته شدن فایل رو (اینکه مثلا چند بایت از دیتای روی فلش مشکل نداشته باشه) دستگاه ضبط‌کننده کنترل میکنه.

دیتا به شکل stream از لحظه‌ی زدن دکمه‌ی «ضبط» شروع به ثبت شدن توی فلش میکنه. نه دستگاه reciever و نه تلوزیون شما، هیچکدوم مفهوم «برنامه» و «ساعت شروع و ساعت پایان» رو نمیفهمن. صرفا لحظه‌ای که دکمه‌ی ضبط زده میشه، میشه ثانیه‌ی اول ویدیو!

فکر نکنم هیچ‌کسی بدونه اینا چی هستن و transncoder درست حسابی هم براش پیدا نکردم (که بشه فایل رو خوند یا تبدیل کرد به یه فایل دیگه)
ولی یه نگاهی به نرم‌افزار handbrake بندازید شاید بتونه کانورتش کنه.

نمیدونم چیه لطفا بیشتر توضیح بدید.

اصلا متوجه منظورتون نشدم!
فایلی که دستگاه ضبط میکنه، ویدیو هست.

اصلا نباید اینطوری باشه. احتمالا نرم‌افزاری که باهاش اون فایل رو نگاه کردید، پترنهایی شبیه به فایلهای خاصی رو داخل فایل .ts‌دیده و فکر کرده اینا فایل هستن. این پترنها رندم هستن و مفهومی ندارن!

1 پسندیده

منظورم مخفی نگاری هست مثلا یک فایل رو داخل یک فایل دیگه قرار میدن به صورتی که کسی متوجه نشه. اگه میشه یک نگاهی به این پست بکنید :

بیت ها به کمک ما می آیند تا داده ها را مخفی کینم !

من با ریسیور صفحه رو ثبت کردم وقتی با برنامه مخصوص فایل هارو استخراج کردم واقعا داخل اون فیلم ضبط شده کلی فایل بود !!! به معنی قابل درک تری مثل این هست که من یک فایل زیپ دریافت کردم که داخلش کلی فایل های مختلف وجود دارن و هم خود فایل زیپ طوری هست که میتونه پخش بشه !!!
مثلا : این فایل همون فایل .ts هست که من با ویدیو پلیر باز کردم !

و این فایل ts رو با برنامه مخصوصش دارم استخراج میکنم :

بعد از استخراج :
این آموزش زبان هست که استخراج شده از فایل ts !!

اینم آهنگ هایی هستند که استخراج شدن و مثل فایل قبلی بدون هیچ اشکالی پخش میشه !!
Screenshot (116)

و کلی فای دیگه مثل pdf هم استخراج شدن و میشه بازشون کرد !! اما چطوری ؟

1 پسندیده

من فکر کنم سوالم رو خوب مطرح نکردم,
من سوالات رو به ترتیب جواب ندادم چون بعضی از جوب ها باید زود تر گفته میشد.

الان من چند عکس فرستادم که نشون میده داخل فیلمی که من از صفحه تلویزیون ضبط کردم فایل هست ؟!
و فایل ها بدون مشکلی پخش میشن حتی برنامه های دسکتاپ داخلش هست که من نصبشون کردم !!

این جا من سوالم این هست که چطوری بدون کانکشن TCP فایل ها کاملا درست به ما میرسن ؟

وحتی در صورتی که من ضبط رو هر وقت که شروع کنم و فقط برای 2 ساعت ضبط کنم فایل ها بعد از اکسترکت کامل هستن ؟ کلا فرایند ارسالشون 2 ساعت هست که باید 2 ساعت از صفحه فیلم بگیرم .

بله فایل دستگاه ویدیو هست. من عکس رو کلی گفتم که بگم ایا این هم مثل همونه مخفی نگاری تکست در تصویر هست. چون ما مخفی نگاری در ویدیو هم داریم. فکر کنم بدنباشه سایت این کانال رو هم یه نگاهی بندازین
https://www.toosheh.org/

توشه هر روز دست‌چینی از بهترین مطالب روز اینترنت را از طریق ماهواره برای شما فراهم می‌کند. کافیست به کانال توشه بروید و حافظه فلش را به رسیور خود وصل و محتوای توشه را ضبط کنید.​ با استفاده از نرم‌افزار توشه فایل‌های ارسالی را روی کامپیوتر، تبلت یا تلفن‌ همراه‌تان باز کنید تا وبگردی را آفلاین تجربه کنید

https://www.youtube.com/watch?v=MGrqwJqR_tw&feature=youtu.be

خب این اصلا چیزی نیست که انتظارشو داشتم! خیلیوقت پیش (۱۳-۱۴ سال پیش) درموردش شنیده بودم ولی تا حالا خودم باهاش کار نکردم.
دستگاه ما اینطوری ضبط نمیکنه :sweat_smile: (من فکر کردم دارید درمورد settop boxها صحبت میکنید!)

خب با توجه به چیزی که دارم میبینم، این یه جور کانکشن UDPمانند هست. نه TCP.
و از اونجایی که تلوزیون شما به هیچ عنوان امکان ارسال request نداره، پس صرفا یه جور Server Send Event اتفاق میفته و اینجا نشسته، هرچی اومد میگیره و میریزه توی یه archive

یه جور دیگه هم میشه به قضیه نگاه کرد. شبیه سیستمهای Message Queuing که توش سیستم شما صرفا یک consumer هست و هرچی broker میفرسته رو دریافت و ثبت میکنه.

تنها چیزی که به ذهنم میرسه اینه که اگه از وسط پخش یه چیزی شروع به ضبط کنید، یا اون چیز توی فلش نوشته نمیشه (که ناقص نباشه) یا همونطوری از وسطش شروع به دریافت و ثبت توی فلش میکنه تا زمانی که دیگه ضبط نکنید.

خیر. به نظر نمیرسه اینطوری باشه. به نظر میرسه یه سری دیتا دریافت میکنید و سیستمتون اونها رو توی یه archive قرار میده.


ویدیو رو دیدم. اینطور که شما فرمودید «۲ ساعت» و توی ویدیو هم دقیقا همین جمله ذکر شد، اینطور احتمال میدم که اون brokerی که گفتم (اگه سیستم رو Message Queuing در نظر بگیریم) یه حجمی از اطلاعات رو هر ۲۴ ساعت broadcast میکنه که اون حجم اونقدری هست که ۲ ساعت طول میکشه ارسال بشه.
اگه شما از وسط یه برنامه شروع به ضبط کنید، کار ضبط رو انجام میده، بعد که دوباره رسید به ابتدای اون برنامه، دیتا رو میگیره و prepend میکنه به چیزی که ۲ساعت پیش دریافت کرده بود. پس همیشه دیتا کامل هست به شرط اینکه بازه‌ی زمانی ۲ ساعته رو کامل کرده باشید.
پس فرقی نمیکنه چه زمانی شروع به ضبط کنید. همیشه یا فایل از ابتدا کامل هست، یا در چند دقیقه‌ی نهایی cycle ۲ ساعته، فایل کامل میشه.

سیستمی که ازش استفاده میکنید، یه فرکانس و یه پهنای باندی داره.
فرستنده، میاد با توجه به حجمی که میشه توی ۲ساعت با این پهنای باند ارسال کرد (منظورم بر حسب GB هست) یه سری فایل حاوی عکس و فیلم و… رو از قبل آماده میکنه و ۲۴ساعت اونها رو stream میکنه.

درمورد noise canceling الگوریتمهای زیادی هست که میتونه کمک کنه. اصلا نمیدونم از چه الگوریتمی استفاده میکنن ولی قطعا باید از noise canceling استفاده بشه در غیر این صورت حتما دیتا با مشکل دریافت میشه.


چیزی درمورد این سیستم نمیدونم ولی مسلما باید از یه سری استاندارد خاص پیروی کنه. شاید حتی بشه استانداردهاش رو توی IETF پیدا کرد.

و یه چیزی رو خدمتتون عرض کنم.
این اینترنت نیست.
اینترنت یه تعریف مشخصی داره. این هیچ شباهتی به اینترنت نداره. اینا دارن یه سری چیز از قبل انتخاب شده رو میدن به ما. بیشتر شبیه «تلوزیونی که فایل میفرسته» هست تا «اینترنت آفلاین».
استفاده از واژه‌ی «اینترنت» صرفا یه عنوان تبلیغاتیه برای عامه‌فهم کردن موضوع.

1 پسندیده

تا حالا با کیف پول بیت‌کوین ledger‌ کار کردید؟
نرم‌افزار دسکتاپش رو که ستاپ میکنیم، اگه بخوایم وصل کنیم به نرم‌افزار موبایل، یه qr-code نشونمون میده که باید اسکن کنیم.
ولی یه qr-code معمولی نیست. چون حجم دیتایی که باید به موبایل انتقال پیدا بکنه برای «کپی برداری» از کیف پول یه کم زیاده، چندتا qr-code رو پشت سر هم نشون میده. یعنی مثلا ۱۰ تا qr-code که جایگزین هم میشن.
و موبایل ما اینا رو روی صفحه‌ی مانیتور میبینه و فرقی نمیکنه از اولین qr دیده باشه یا از پنجمین. ۱۰تا رو میبینه و میچسبونه به هم و خودش میفهمه کل دیتا از چه قرار بوده.

سیستمش شبیه چیزیه که توی مطلب قبلی توضیح دادم درمورد اینکه چطوری ۲ساعت ضبط میکنیم و همه‌ی دیتاها کامل دریافت میشن.

1 پسندیده

یه کتاب پیدا کردم که من فکر میکنم روند این کار رو میگه

من در باره مخفی نگاری که میخوندم متوجه شدم که اگر شما مثلا یک تکست رو داخل یک عکس قرار بدین و بعد عکس رو با یک برنامه حجمش رو پایین بیارین یا فرمتش رو تبدیل کنید٬ دیتای داخل عکس از بین میره.

الان فرض کنید توشه فیلمی که داره ارسال میکنه با کیفیت 1080 باشه اگه دستگاه رو من تنظیم کنم که کیفیت 480 ذخیره کنه٬‌ چرا داده ها از بین نمیرن ؟

نه. این مساله هیچ ارتباطی با Steganography (که فارسیش میشه «نهان‌نگاری») نداره.
اون بحثش جداست.

نهان‌نگاری به طور خلاصه اینه که به عنوان مثال توی استاندارد jpeg یه بخشهایی از فایل، padding هست و یه بخشی هم وجود داره که میشه یه سری metadata توی اون قرار داد از جمله دوربینی که این عکس رو گرفته، اینکه فلش استفاده شده یا نه، موقعیت جغرافیایی و…
توی نهان‌نگاری میان اون بخشها رو با یه دیتایی پر میکنن که بعدا نرم‌افزارمون میتونه اونها رو استخراج کنه.
حجم دیتایی که میشه اونجا مخفی کرد، خیلی کمه. شما نمیتونید یه عکس داشته باشید که ۱۲گیگ فیلم یا اپلیکیشن توش باشه.

زمانی هم که حجم عکس رو پایین میاریم، دوتا راه برای این‌کار داریم:

  • با یه نرم‌افزار ویرایش عکس، بازش کنیم و سایزش رو تغییر بدیم و save کنیم. که در اون صورت اون نرم‌افزار میاد metadataها رو پاک میکنه و محتوای خودش رو اونجا مینویسه! (paddingها رو هم با صفر پر میکنه که استاندارد باشه!)
  • با نرم‌افزاری مثل jpegtran یا optipng بیایم حجم عکس رو کم کنیم که در این صورت هیچ تغییری توی خود عکس داده نمیشه و فقط metadataها رو پاک میکنه.

در هردوی این موارد، دیتای نهان‌نگاری شده، از بین میره. مگر اینکه نرم‌افزار ویرایشگر عکس، طوری ساخته شده باشه که metadataها رو بدون تغییر منتقل کنه به فایل مقصد.


خیر. چون همونطور که بالاتر گفتم هیچ ربطی به قضیه‌ی Steganography نداره.
سیستمی که شما ازش استفاده میکنید اینه که:
یه فرستنده‌ای روی یه فرکانس و پهنای باند مشخصی داره یه دیتایی رو برای شما ارسال میکنه. اون دیتا شامل عکس، ویدیو، نرم‌افزار و… هست.
گیرنده‌ی شما توانایی دریافت اون فرکانس و توانایی پردازش اون پهنای باند رو داره (cpuش به اندازه‌ی کافی قوی هست) حالا شما میتونید بهش بگید هرچی میگیره رو ثبت کنه یا میتونید بگید هرچی گرفت با کیفیت پایینتر ذخیره کنه. در اون صورت مسلما نرم‌افزارها رو فشرده نمیکنه و به همون شکل بهتون تحویل میده ولی عکس و ویدیو رو میتونه convert کنه به سایز کوچیکتر که فضای کمتری روی فلش بگیره.
تنها مزیت استفاده از این تنظیمات، همینه که در ازای درگیری بیشتر cpu، فضای کمتری توی فلش استفاده بشه. مزیت دیگه‌ای نمیتونه داشته باشه چون در تمام طول مسیر، دیتای اصلی درحال حرکته و کنترلی روش نداریم.

1 پسندیده

بله حق با شماست من به پشتیبانی پیام دادم و سوالاتم رو پرسیدم٬

گفت که فرمت مثل mkv داخلش چند فایل زیرنویس هست و هم چنین صوت های مختلف که میشه بینشون سوییچ کرد. فایل ts هم به همین شکله .

یکی از جواب هاشون دقیقا همین بود. گقتن مثل دایره هست هر جای دایره رو که ازش شروع کنی باید به همون نقطه شروع بر گردی.

برای پارازیت هم گفتن در برابر پارازیت در امان نیستین و اگه این اتفاق بیوفته قسمتی از فایل از دست میره

بعید میدونم طرف چیزی از این تکنولوژی بدونه. اصولا پشتیبان‌ها یه سری برگه جلوشون دارن که از روی اون جواب میدن.
اون فایل .ts مثل یه mkv نیست که توش زیرنویس داشته باشه، مثل یه zip هست که توش فایل داره!

و اونا فایل ts ارسال نمیکنن. اونا محتوا رو ارسال میکنن و دستگاه شماست که فایل ts‌ رو میسازه و محتوا رو میریزه داخلش.

یه سری از الگوریتمهای فشرده‌سازی مثل gzip میتونن کار خودشون رو شروع کنن، بدون اینکه دیتای کامل رو داشته باشن. یعنی به صورت stream کار فشرده‌سازی و باز کردن فایلها رو انجام بدن.

از screenshotهاتون مشخص نیست داخل چه سیستم‌عاملی هستید. اگه لینوکس هستید، با این کامند میتونید اطلاعاتی درمورد نوع فایل به دست بیارید:

file my-record.ts

مثلا برای gzip اینو میبینم:

test.tar.gz: gzip compressed data, from Unix, original size modulo 2^32 10240

البته ممکنه هر الگوریتمی باشه. حتی ممکنه یه الگوریتم غیر آزاد باشه و file نتونه شناساییش کنه. ولی تست کردن این کامند ضرری نداره.

البته strings my-records.ts | less هم ممکنه یه سری string مهم رو بهتون نشون بده که برای پیدا کردن الگوریتم فشرده سازی کمکتون کنه.

خب نمیدونم این استاندارد دقیقا چیه، برای نظر دادن باید داکیومنتهاش رو داشته باشیم (مثلا این داکیومنت Matroska یا MKV هست). منظورم داکیومنتهایی هست که یه computer scientist مثلا ۵۰سال پیش نوشته و دستگاه گیرنده‌ی شما و دستگاه فرستنده‌ی اونا، از لایبرریهایی استفاده میکنن که بر اساس اون داکیومنت نوشته شده!
ولی احتمال میدم اگه مثلا یه پارازیت توی دقیقه‌ی ۳۰ داشته باشید و ضبط‌کردنتون رو به جای ۲ ساعت، ۲ساعت و ۳۰دقیقه انجام بدید، اون پارازیت رو فیکس میکنه با دیتایی که جدید اومده!

1 پسندیده

من dual boot هستم با لینوکس و کامند file امتحان کردم فقط میگه Data :frowning:

خب احتمالا استانداردش اوپن‌سورس نیست و شاید رایگان هم نباشه.
یعنی بعید میدونم داکیومنتهاش گیر بیاد. حداقل داکیومنتهای مربوط به فشرده‌سازیش.

1 پسندیده

احتمالا اسم این سیستم Datacasting باشه که بخشی از استاندارد ATSC standard هست.
در این صورت، فکر میکنم از Reed–Solomon error correction برای کاهش نویز استفاده میشه.

(داشتم درمورد error correction توی qr-code میخوندم، که به این مطالب رسیدم)

1 پسندیده