چه برنامه هایی فایل های php را باز می کنند. پسوند فایل PHP چیست؟ آنچه لازم است تا PHP با HTML کار کند

پاسخ ها:

پاول الاگین:
چرا فایل را دانلود کردید اگر نمی دانید چگونه آن را باز کنید؟

اکسل:
این فایل زبان php است که در سرورهای وب استفاده می شود. اگر نمی دانید چیست، پس باور کنید، راه اندازی آن منطقی نیست.

رو به جلو:
اینترنت اکسپلورر"اهم یا هر مرورگر اینترنتی دیگری. PHP فرمتی برای صفحات اینترنت پویا است.

شورویک:
افسوس، این فقط یک فیلمنامه است. بدیهی است که برنامه ای که با آن چیزی دانلود کرده اید نتوانست اسکریپت را به درستی پردازش کند و این اسکریپت را به جای فایل مورد نظر شما دانلود کرده است. سعی کنید آنچه را که به دنبال آن هستید دوباره بارگیری کنید، اما به روشی دیگر.

TU-154:
این یک اسکریپت سمت سرور است. یعنی چیزی را اشتباه دانلود کردید - باید نتیجه تولید شده توسط این اسکریپت را دانلود می کردید.

رومن گورال:
PHP یک زبان برنامه نویسی تفسیر شده است که برای ساخت صفحات وب استفاده می شود. برای اجرای این فایل برای اجرا، به وب سروری نیاز دارید که بر روی رایانه شما اجرا شود. و بنابراین می توانید فایل دانلود شده را ببینید، فقط آن را با یک ویرایشگر متن باز کنید.

عنکبوت:
بسته به اینکه چگونه و از کجا دانلود کرده اید، از طریق FTP یا از سروری که از PHP پشتیبانی نمی کند، این یک اسکریپت (یا بخشی) به زبان PHP است. سپس می توانید آن را با هر ویرایشگر، به عنوان مثال، Notepad باز کنید. اگر از سروری باشد که از PHP پشتیبانی می کند، پس این یک صفحه معمولی است که توسط این اسکریپت ایجاد می شود. سپس - هر مرورگر

kle:
گاهی اوقات دانلود کننده ها اشتباه می کنند و به فایل ها نام درستی نمی دهند. اگر اینترنت اکسپلورر آشغال را نشان می دهد (بهتر است فایل های بزرگتر از چند صد کیلوبایت را باز نکنید)، منطقی است که سعی کنید آنها را در WinRAR باز کنید. در بدترین حالت، پسوند را به .exe نسبت دهید (اگر از اجرای آن بر روی رایانه خود نمی ترسید، نمی دانید چیست).

تروداکتل:
آقایان محترم، دوباره به مفهوم سوال فکر کنید. توسط شخصی تنظیم می شود که کاملاً از سرورهای وب دور است. من فقط سعی کردم یک برنامه یا بازی را از لینک دانلود کنم و مرورگر دانلود را به صندلی راک منتقل کرد. ادغام دانلودر مرورگر را غیرفعال کنید. یا همان لینک را با استفاده از مرورگر دیگری دانلود کنید. حتما به صفحه دانلود راپیدا یا دیپوزیت یا همچین چیزی خواهید رسید.

در این مقاله یاد می گیریم که فایل های .php چیست، چگونه آنها را باز کنیم و چگونه با آنها کار کنیم.

فایل های پی اچ پی فایل هستند کد منبع PHP حاوی کد پیش پردازنده فرامتن. آنها اغلب به عنوان فایل های صفحه وب استفاده می شوند که HTML را از یک موتور PHP واقع در سرور تولید می کنند.

موتور PHP محتوای HTML را از کدهایی که در مرورگر می بینیم ایجاد می کند. از آنجایی که کد برنامه بر روی سرور اجرا می شود، وقتی به صفحه PHP می رویم، به خود کد دسترسی نداریم، بلکه فقط به محتوای HTML که سرور تولید می کند دسترسی پیدا می کنیم.

توجه داشته باشید

برخی از فایل‌های منبع PHP از پسوند متفاوتی مانند PHTML، PHP3، PHP4، PHP5، PHP7 یا PHPS استفاده می‌کنند.

نحوه باز کردن فایل های PHP

فایل های PHP اسناد متنی هستند، بنابراین می توان آنها را با هر ویرایشگر متن یا مرورگری باز کرد. در اتاق عمل سیستم ویندوزهیچ سوالی وجود ندارد که چگونه یک فایل PHP را باز کنید. برای این کار می توانید از ویرایشگر Notepad استفاده کنید. اما هنگام نوشتن کد PHP، زمانی که نحو برجسته می شود راحت است، بنابراین بهتر است به یک ویرایشگر تخصصی اولویت دهید.

Notepad ++ - رایگان ویرایشگر متنبا برجسته سازی نحو. در اینجا چند ویرایشگر دیگر برای PHP وجود دارد: Adobe Dreamweaver، Eclipse PHP Development Tools، Zend Studio، phpDesigner، EditPlus و WeBuilder. این برنامه ها می توانند فایل های PHP را ویرایش کنند، اما نمی توانند کد را اجرا کنند. این به برنامه های کاربردی دیگری مانند وب سرور آپاچی نیاز دارد.

توجه داشته باشید

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

در چنین حالتی، پسوند فایل را قبل از باز کردن PHP در آن تغییر دهید برنامه مورد نظر. اگر فایل MP4 است، باید در یک پخش کننده ویدیو باز شود.

نحوه تبدیل فایل PHP

کاوش کنید اسناد jason_encodeدر PHP.net برای یادگیری نحوه تبدیل آرایه های PHPدر جاوا اسکریپت - کد فرمت JSON ( نشانه گذاری شی جاوا اسکریپت). این تبدیل فقط در PHP 5.2 و بالاتر امکان پذیر است.

فایل های PHP را نمی توان به فرمت های چندرسانه ای مانند MP4 یا JPG تبدیل کرد. اگر نیاز به دانلود فایل دارید و می دانید که این فایل یک تصویر یا یک ویدیو است، کافیست پسوند آن را از PHP به فرمت مورد نظر تغییر دهید: MP4 یا JPG .

توجه داشته باشید

هنگام تغییر نام، فایل را تبدیل نمی کنید، اما فرصت باز کردن آن را در اختیارتان قرار می دهید برنامه مناسب. قبل از اینکه یک فایل PHP را در مرورگر باز کنید، باید بدانید که می توانید با استفاده از ابزارهای تبدیل، یک تبدیل واقعی انجام دهید.

آنچه لازم است تا PHP با HTML کار کند

کد PHP تعبیه شده در یک فایل HTML به عنوان PHP شناخته می شود نه به عنوان HTML اگر در تگ های زیر محصور شود:

< ?php [код PHP] ?>

برای ایجاد پیوند در یک فایل HTML به فایل PHPاز کد زیر استفاده کنید که به جای footer.php نام فایل خود را وارد کنید:

< ?php include "footer.php";?>

گاهی اوقات یک صفحه وب از PHP با ارجاع به یک URL استفاده می کند که در آن فایل پیش فرض PHP index.php نام دارد. ممکن است چیزی شبیه این به نظر برسد:

http://www.examplesite.com/index.php.

اطلاعات بیشتر در مورد PHP

وب سایت رسمی زبان داده شدهبرنامه نویسی - PHP.net. اگر می خواهید در مورد نحوه کار با PHP بیشتر بدانید، می توانید به مستندات کامل مراجعه کنید. W3Schools نیز منبع خوبی است.

اولین نسخه PHP در سال 1995 منتشر شد و ابزارهای صفحه اصلی شخصی نام داشت. ابزارهایی برای ایجاد صفحات اصلی شخصی) یا PHP Tools .

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

نوع دیگر استفاده، اجرای اسکریپت ها است خط فرمانزمانی که نه از مرورگر و نه سرور استفاده نمی شود. این نوع پیاده سازی PHP برای کارهای خودکار مفید است.

فایل‌های PHPS فایل‌های برجسته‌سازی نحوی هستند. مقداری سرورهای PHPبه گونه ای پیکربندی شده است که به طور خودکار نحو را در فایل های با این پسوند برجسته می کنند. این تنظیم را می توان در فایل پیکربندی httpd.conf فعال کرد. اطلاعات بیشتر در مورد برجسته کردن نحو، فرمت PHP و آنچه که باید باز شود را می توانید در اینجا بخوانید.

اگر کامپیوتر شما دارد برنامه آنتی ویروس می توان تمام فایل های روی کامپیوتر و همچنین هر فایل را به صورت جداگانه اسکن کنید. شما می توانید هر فایلی را با کلیک راست روی فایل و انتخاب گزینه مناسب برای اسکن فایل برای ویروس ها اسکن کنید.

به عنوان مثال، در این شکل، فایل my-file.php، سپس باید روی این فایل کلیک راست کرده و در منوی فایل گزینه مورد نظر را انتخاب کنید "اسکن با AVG". هنگام انتخاب پارامتر داده شدهآنتی ویروس AVG باز می شود و اسکن را اجرا می کند فایل داده شدهبرای وجود ویروس ها


گاهی اوقات یک خطا می تواند ناشی شود نصب نادرست نرم افزار ، که ممکن است به دلیل مشکلی باشد که در مراحل نصب رخ داده است. ممکن است با سیستم عامل شما تداخل داشته باشد فایل PHP خود را به برنامه صحیح پیوند دهید ابزار نرم افزاری ، تحت تأثیر قرار دادن به اصطلاح "ارتباطات پسوند فایل".

گاهی ساده مایکروسافت نوت پد را دوباره نصب کنیدمی تواند مشکل شما را با پیوند صحیح PHP با Notepad مایکروسافت حل کند. در موارد دیگر، مشکلات مرتبط با فایل ممکن است ناشی از آن باشد برنامه نویسی نرم افزار بدتوسعه‌دهنده، و ممکن است لازم باشد با توسعه‌دهنده تماس بگیرید کمک اضافی.


توصیه:مایکروسافت Notepad را به روز کنید آخرین نسخهبرای اطمینان از نصب آخرین وصله ها و به روز رسانی ها.


این ممکن است خیلی بدیهی به نظر برسد، اما اغلب خود فایل PHP ممکن است باعث این مشکل شده باشد. اگر فایلی را از طریق پیوست دریافت کردید پست الکترونیکیا آن را از یک وب سایت دانلود کرده و روند دانلود قطع شده است (مانند قطع برق یا دلایل دیگر)، ممکن است فایل خراب باشد. در صورت امکان، سعی کنید یک نسخه جدید از فایل PHP دریافت کنید و سعی کنید دوباره آن را باز کنید.


با دقت:یک فایل خراب ممکن است باعث آسیب جانبی به فایل قبلی یا موجود شود بد افزاربر روی رایانه شخصی خود، بنابراین بسیار مهم است که همیشه یک آنتی ویروس به روز در رایانه خود داشته باشید.


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

این مشکل معمولاً با انواع فایل های رسانه ای مرتبط است، که به باز کردن موفقیت آمیز سخت افزار در داخل کامپیوتر بستگی دارد، برای مثال، کارت صدایا کارت گرافیک. به عنوان مثال، اگر می خواهید یک فایل صوتی را باز کنید اما نمی توانید آن را باز کنید، ممکن است نیاز داشته باشید به روز رسانی درایورهای کارت صدا.


توصیه:اگر وقتی سعی می کنید یک فایل PHP را باز کنید دریافت می کنید پیام خطای مربوط به فایل SYS، مشکل احتمالاً می تواند باشد مرتبط با درایورهای دستگاه خراب یا قدیمیکه باید به روز شوند این فرآیندبا استفاده از نرم افزار به روز رسانی درایور مانند DriverDoc می توان این مشکل را کاهش داد.


اگر مراحل مشکل را حل نکردو شما همچنان در باز کردن فایل های PHP با مشکل مواجه هستید، ممکن است به این دلیل باشد عدم وجود منابع سیستم . برخی از نسخه های فایل های PHP ممکن است به مقدار قابل توجهی از منابع (مانند حافظه/رم، قدرت پردازش) به درستی در رایانه شما باز شود. اگر از رایانه نسبتاً قدیمی استفاده می کنید، این مشکل اغلب رخ می دهد. سخت افزارو در عین حال یک سیستم عامل بسیار جدیدتر.

این مشکل ممکن است زمانی رخ دهد که رایانه برای انجام یک کار مشکل دارد زیرا سیستم عامل(و سایر خدمات در حال اجرا زمینه) می توان مصرف منابع زیادی برای باز کردن فایل PHP. سعی کنید قبل از باز کردن فایل کد منبع PHP، تمام برنامه های کاربردی را در رایانه خود ببندید. با آزاد کردن تمام منابع موجود در رایانه خود، بهترین شرایط را برای تلاش برای باز کردن فایل PHP فراهم خواهید کرد.


اگر شما تمام مراحل فوق را انجام دادو فایل PHP شما هنوز باز نمی شود، ممکن است لازم باشد اجرا کنید ارتقاء سخت افزاری. در بیشتر موارد، حتی با نسخه‌های سخت‌افزاری قدیمی‌تر، قدرت پردازشی برای بیشتر افراد می‌تواند بیش از حد کافی باشد برنامه های کاربردی سفارشی(مگر اینکه کارهای زیادی با CPU انجام دهید، مانند رندر سه بعدی، مدل سازی مالی/علمی، یا کارهای فشرده رسانه ای). بدین ترتیب، این احتمال وجود دارد که رایانه شما حافظه کافی نداشته باشد(که بیشتر به عنوان "RAM" یا رم) برای انجام وظیفه باز کردن فایل.

بیایید نگاهی به موقعیت های مختلف مربوط به پسوند php بیندازیم. به طور کلی، چنین فایلی را می توان به راحتی در دفترچه یادداشت باز کرد، اما این همیشه آموزنده نخواهد بود. اگر این نتیجه کار یک برنامه نویس به زبان PHP باشد، فایل منبع را با اسکریپت ها، دستورات برای اجرا دریافت می کنیم. اگر چیزی را از اینترنت دانلود کرده اید - یک فیلم، موسیقی یا یک صفحه وب - می توانید یک فایل PHP نیز دریافت کنید.

دو روش برای باز کردن یک سند PHP

بیایید سعی کنیم در حالت اول یک فایل با پسوند php باز کنیم (فایل با کد). اجرا یا مشاهده نتیجه اجرای فایل بدون سرور غیرممکن است. اما این هم مشکل بزرگی نیست. نصب سرور حتی برای برنامه نویسان مبتدی نیز با مشکل مواجه خواهد شد. دستورالعمل:

  1. ما بسته Denver را روی رایانه شخصی نصب می کنیم - یک سرور محلی و ابزارهای دیگر عملیات راحتبا اسکریپت های PHP آفلاین، بدون دسترسی فعال به اینترنت. می توان آن را از مجمع رسمی دانلود کرد.
  2. سپس فایل خود را می گیریم، آن را filename.php می نامیم و آن را در پوشه وب سرور قرار می دهیم.
  3. و در خط مسیر فایل را وارد کنید.
  4. ما نتیجه اجرای کد را مشاهده می کنیم.

اطلاعات بیشتر در مورد پاراگراف دوم و سوم دستورالعمل. ما دایرکتوری "C:\WebServers\home" را دنبال می کنیم، در اینجا به طور پیش فرض یک پوشه به نام "test" وجود دارد. اکنون به صلاحدید شما: می توانید این پوشه را انتخاب کنید، می توانید پوشه خود را در اینجا ایجاد کنید (مثلاً 123). به پوشه رفته و پوشه دیگری به نام www ایجاد کنید. حالا فایل "filename.php" خود را در آن قرار می دهیم. مسیر کامل فایل به این صورت خواهد بود: "C:\WebServers\home\123(or test)\www\filename.php".

ارزش توجه به این نکته را دارد که حتما باید یک پوشه www ایجاد کنید، نباید از این مورد بگذرید.

Denver را با استفاده از دکمه Run راه اندازی کنید. شما باید یک کتیبه در یک پنجره خط فرمان مشکی ببینید که نشان می دهد میزبان 123 (تست) اضافه شده است. اگر در نسخه سرور محلیهیچ آیکونی وجود ندارد، سپس ما به دنبال آنها در "C:\WebServers\denwer\utils" هستیم.

پس از نصب Denver نباید تنظیمات پیش فرض را تغییر دهید، همه چیز قبلاً اشکال زدایی و پیکربندی شده است، Magic، GD، FDPF و ماژول های دیگر گنجانده شده است.

اگر با توسعه برنامه‌ها ارتباط ندارید و فایلی با پسوند php، موسیقی دارید، با خیال راحت سعی کنید آن را در Notepad باز کنید. ممکن است با خطا مواجه شوید. در این صورت دانلود منیجر را غیرفعال کنید و دوباره امتحان کنید. در موارد دیگر، با احتمال زیاد، صفحه ذخیره شده سایتی که از آن شروع به دانلود فیلم / موسیقی و غیره کرده اید در مرورگر باز می شود. آن ها به جای دانلود مستقیم محتوایی که در آن ذخیره کرده اید HDDخود صفحه

برنامه هایی برای کار با فایل های PHP در سیستم عامل های مختلف

توسط بیشترین به روشی سادهبرای مشاهده یک سند php، همانطور که قبلا ذکر شد، باز کردن آن در Notepad است.

در ویندوز، فایل php را می توان در برنامه های زیر باز کرد:

  • نوت بوک؛
  • PHPEdit;
  • دفترچه یادداشت ++;
  • مایکروسافت wordpad;
  • EditPlus;
  • هر ویرایشگر متنی؛

PhpEdit- برنامه حرفه ای، که با استفاده از آن می توانید نه تنها پروژه ها را باز کنید، بلکه کل پروژه ها را در PHP ایجاد کنید.

توصیه می کنیم توجه ویژه ای داشته باشید دفترچه یادداشت++ که در زمانی که بسیار مفید است ما داریم صحبت می کنیمدر مورد ویرایش کدهای منبع برنامه ها و اسکریپت ها. اگر یک فایل PHP را در Notepad ++ باز کنید، نحو به طور خودکار شناسایی و برجسته می شود، امکان جمع کردن و گسترش بلوک های کد، جستجوی راحت و قابلیت جایگزینی پیشرفته بر اساس وجود دارد. عبارات با قاعده- به دور از عملکرد کامل گزینه های مفیدی که این ویرایشگر ارائه می دهد.

در مک، باز کنید:

  • نرم افزار استخوان برهنه BBEdit;
  • TextEdit;
  • TextMate;
  • ویرایشگر متن دیگری که برای شما مناسب است.
  • gedit;
  • ماهی آبی;
  • ابزارهای توسعه PHP Eclipse.
  • هر ویرایشگر متنی

بنابراین، ما چندین گزینه در مورد نحوه باز کردن یک فایل با پسوند PHP در نظر گرفته ایم. در حالت اول، شما این فرصت را خواهید داشت که با نتیجه کار چنین اسکریپتی آشنا شوید، مورد دوم برای ایجاد تغییرات و ویرایش خود کد اسکریپت مناسب است.

این مقاله چاپ مجدد مقاله ای به تاریخ 16 نوامبر 2007 از وبلاگ من است که پیوندی به آن را می توان در نمایه شخصی من یافت - اما از آنجایی که اتفاقاً این موضوع به نظر می رسد هنوز برای بسیاری جالب است، و نه چندان مدتها پیش در کنفرانس PHPConf گزارشی درباره این موضوع خواندم ... به طور کلی - خودتان قضاوت کنید.

معرفی

اخیراً، فناوری پخش ویدیو از طریق وب به طور فزاینده ای گسترش یافته است - بدون نیاز به بارگیری محتوای رسانه در دستگاه کاربر، با مشاهده مستقیم از مرورگر. به این ترتیب می‌توانید تعداد نسبتاً زیادی فرمت‌های ویدیویی مختلف را مشاهده کنید، اما این امر مستلزم وجود پلاگین‌های خاصی در سمت کاربر است. بدیهی است که رایج ترین افزونه این چنینی است فلش پلیر(خوب، خوب، خوب: به طور دقیق، مطمئناً نمی تواند به تنهایی ویدیو پخش کند - اما ایجاد برنامه ای که می تواند محتوای ویدیویی را پخش کند آسان می کند). نمونه بارز این رویکرد است youtube.com. من سعی خواهم کرد به شما بگویم که چگونه پخش فیلم های فلش را به طور مستقل در صفحه وب خود سازماندهی کنید و چه رویکردهایی برای این مشکل وجود دارد.


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

1. درباره فرمت FLV

بنابراین، فلش پلیرویدیو را با فرمت FLV پخش می کند، فرمت های دیگر را درک نمی کند.
شما می توانید اطلاعات بیشتری در مورد خود فرمت، به عنوان مثال، در اینجا بخوانید: en.wikipedia.org/wiki/FLV، و همچنین، البته، در وب سایت Adobe، سازنده فلش پلیر. برای اهداف این گزارش، نیازی به اطلاعات دقیق از قالب نخواهیم داشت و مواردی که مورد نیاز خواهند بود در زیر آورده شده‌اند.
یک فایل FLV از یک عنوان و خود فیلم تشکیل شده است.
عنوان حاوی متا اطلاعات خاصی در مورد فیلم است: مدت زمان، اندازه، و غیره، و غیره. در واقع، ما فقط به یک مورد در این متا اطلاعات علاقه مند خواهیم بود - یعنی اینکه حاوی داده هایی در مورد فریم های کلیدی فیلم (موقعیت آنها) است. در مقیاس زمان و بایت). متا اطلاعات خود یک آرایه انجمنی از تودرتو دلخواه است که در قالب AMF سریال شده است که یکی از استانداردهای پذیرفته شده برای توسعه برنامه های فلش است.
توجه داشته باشید: چندین کتابخانه برای PHP وجود دارد که به شما این امکان را می‌دهد که به/از AMF سریال‌سازی کنید.

2. نحوه پخش فایل های FLV در صفحات وب

برای در نظر گرفتن موفقیت آمیز پخش، دو شرط باید رعایت شود: سرور با موفقیت محتوا را نمایش داد، و مشتری آن را با موفقیت تماشا کرد. بر این اساس، دو بخش از برنامه مورد نیاز است - سرور و مشتری. به عنوان مشتری عمل می کند فلاش- برنامه ای که قادر به پخش یک جریان ویدئو از یک URL مشخص است. از این قبیل برنامه ها زیاد است و ما در اینجا به آنها نمی پردازیم. بیایید در مورد سمت سرور صحبت کنیم. بنابراین، چه هستند راه های ممکنپیاده سازی؟

2.1. دانلود - دانلود

این ساده ترین راه است. این به یک کلاینت ساده نیاز دارد که به سادگی یک جریان ویدئو را در یک URL مشخص درخواست کند و آن را پخش کند. تمام کاری که سرور باید انجام دهد این است که درخواست HTTP را پردازش کرده و محتوای مناسب را برگرداند. نرم افزار خاصی مورد نیاز نیست.
"پس چرا راه های دیگری وجود دارد؟" - نپرسیدن چنین سؤالی دشوار است. با این حال، همه چیز با این روش چندان هموار نیست... واقعیت این است که اگر برای نمایش قطعات کوچک ویدیویی تا 2-3 دقیقه عالی است، پس نمایش فیلم های طولانی تر مانند این مناسب نیست: کاربر برای تماشای هر قطعه ای از فیلم، لازم است که این قطعه قبلاً در رایانه وی دانلود شده باشد. به عبارت دیگر، با قرار گرفتن در ابتدای فیلم، نمی‌توانیم «اسلایدر» تایمر را به پایان برسانیم و تیتراژ پایانی را تماشا کنیم. این روش همچنین هیچ فرصتی برای محافظت از محتوای ویدیویی در برابر بارگیری فراهم نمی کند.

2.2. جریان - پخش ویدئو

این روش شاید پیشرفته ترین باشد. امکان بازگشت به مکانی دلخواه در جریان، مکانیسم‌های حفاظتی خاصی از محتوا وجود دارد (راستش را بخواهید، این مکانیسم‌ها فقط دریافت محتوا را دشوار می‌کنند، در واقع فقط از یک کرکر ناکارآمد محافظت می‌کنند). یکی دیگر از ویژگی های مفید سازماندهی پخش های ویدئویی "زنده" است. اگر به پخش زنده نیاز دارید، باید استریم کنید، چاره دیگری ندارید.
خوب، همان سوالی پیش می آید که با راه قبلی: "اگر پخش اینقدر خوب است، پس چرا راه های دیگری وجود دارد؟". پخش جریانی خوب است، اما همه نمی توانند آن را بپردازند. برای سرور رسانه ای (به عنوان مثال، "سرور رسانه فلش") باید مبلغی را پرداخت کنید. با این حال، راه حل های منبع باز نیز وجود دارد، به عنوان مثال، ffserver(که البته کاملاً در موضوع گزارش قرار نمی گیرد، زیرا نحوه پخش فایل ها را نمی داند)، و همچنین قرمز5که در نوشته شده است جاواو بنابراین برای همه مناسب نیست.

2.3. HTTP-streaming (شبیه سازی جریان ویدیو از طریق HTTP)

از روی نام می توان حدس زد که روش سوم ترکیبی از دو روش اول است. در برخی از تقریب ها، می توانیم فرض کنیم که این چنین است. همانطور که قبلاً اشاره کردیم، عیب بزرگ روش اول (دانلود) عدم امکان بازگشت به یک مکان دلخواه در فیلم است. در جریان HTTP، این مشکل به صورت زیر حل می شود: هنگام بازگشت به مکانی که هنوز در دستگاه کاربر دانلود نشده است، دانلود فعلی خاتمه می یابد و یک درخواست جدید به سرور ارسال می شود که حاوی اشاره گر است که در آن فیلم کجاست. دانلود باید شروع شود در اینجا ظرافت های خاصی وجود دارد که در فصل بعدی به تفصیل بیشتر به آنها خواهیم پرداخت. در مورد مزایا و معایب این روش ... به نظر من برای ترجمه فایل این بهترین گزینه است. این به اندازه کافی ساده است که در هر زبانی اجرا شود (مثل PHP یا Ruby - یا کامپایل شده مانند C)، بنابراین شما می توانید بر اساس الزامات سرعت توسعه خود، سرعت برنامه به دست آمده، نرم افزار و غیره تصمیم بگیرید که از کدام استفاده کنید. همچنین برای وب سرورهای سریع رایج مانند Nginxو Lighttpdماژول های آماده ای برای ترجمه فایل های FLV وجود دارد که به زبان C نوشته شده و بسیار سریع کار می کنند.
من در مورد این روش با جزئیات بیشتر صحبت خواهم کرد ...

3.Http جریان

بنابراین، بیایید نگاهی دقیق تر به گزینه پخش فیلم فلش با استفاده از Http-streaming بیندازیم. همانطور که قبلاً گفتید، برای پخش یک فیلم از یک مکان دلخواه، مشتری یک درخواست HTTP را به سرور ارسال می کند که حاوی "مختصات" مکانی است که جریان ویدئو باید از آن خروجی شود. خوب، به عنوان مثال: localhost/flv/film.php?start=XXXXXX . این مختصات چیست؟ این فقط عدد بایتی است که فریم مورد نظر از آن شروع می شود. به هر حال، همیشه باید یک فایل FLV را از فریم کلید شروع کنید.
با این حال، اجازه دهید! چگونه مشتری این عدد بایت را که فریم از آن شروع می شود می داند؟ و همچنین لزوما یک کلید؟
من جواب میدم. به یاد داشته باشید، در آغاز، زمانی که من به طور خلاصه در مورد آنچه که صحبت کردم فایل FLV، آیا اطلاعات متا را که در هدر موجود است ذکر کردم؟ این متا اطلاعات حاوی داده هایی در مورد فریم های کلیدی فیلم (موقعیت آنها در مقیاس زمانی و بایتی) است. بنابراین، مشتری همیشه می‌تواند نزدیک‌ترین فریم کلید به موقعیتی را در جریانی که کاربر درخواست کرده است پیدا کند - و آن را به بایت‌هایی که به سرور ارسال می‌شوند ترجمه کند.
و در مورد سرور چطور؟ خب، در واقع، وظیفه آن در حال حاضر حداقل است: درخواست را پردازش کنید، مقدار پارامتر را بخوانید (در مورد ما، متغیر $_GET["start"] است)، و خروجی فایل ویدئویی مورد نیاز را از بایت درخواستی شروع کنید. همه چیز تقریباً اینگونه است. تقریباً، اما نه کاملاً. فایل FLV باید حاوی یک هدر باشد. اگر بایت درخواستی کاربر تهی نیست، قبل از دادن محتویات فایل، با شروع از این بایت، باید کوچکترین هدر ممکن را وارد کنید (راستش را بخواهید، من با جزئیات متوجه نشدم که چیست، اما من حدس بزنید که این یک آرایه یا شی خالی است که در AMF سریال شده و با پیشوند "FLV" پیشوند شده است).

3.1. راه حل های آماده: lighttpd, nginx+http_flv_module, flv4php.

پشتیبانی از جریان Http در وب سرورهای محبوب پیاده سازی شده است lighttpdو nginx. در صورت استفاده از این راه حل ها، فقط باید فایل های FLV را در مکانی قرار دهید که توسط وب سرور قابل دسترسی باشد، بقیه موارد به عهده سرور و مشتری است، خیر کد برنامهلازم نیست برای سمت سرور بنویسید. کلاینت باید با افزودن پارامتر GET "start" به URL "y، برای مثال local-nginx/sample.flv?start=12345" فایل های FLV را درخواست کند.
همچنین یک راه حل رایگان (شاید بیشتر) بر اساس PHP وجود دارد - flv4php. مزیت بزرگ آن این است که این پروژه یک پخش کننده آماده دارد - یک مشتری برای HTTP-streaming. نقطه ضعف این است که این محلول نسبتاً سنگین است و طبق آزمایشات من روی من ماشین کار، پردازنده را به شدت بارگذاری می کند (پدیده ای عجیب که توضیح مناسبی برای آن پیدا نکردیم، اما به دور از آسیب، آنها عجله کردند تا استفاده از قسمت سرور را رها کنند. flv4phpو خود را به قرض گرفتن بازیکنی از آنها محدود کردند، که پس از اصلاح نیازهای ما، شروع به خدمت صادقانه به ما کرد). عیب دیگر این است که از فریم اول فیلم به عنوان "پا" (تصویری که کاربر هنگام باز کردن صفحه در صفحه پخش می بیند) استفاده می شود و این رفتار قابل تنظیم نیست. من این ایده را قبول دارم flv4phpشما می توانید آن را به بهترین شکل پیکربندی کنید و کاری کنید که آنچه شما نیاز دارید و بدون بارهای وحشی بر روی پردازنده انجام دهد. با این حال، قطعه کوتاه کد PHP زیر تقریباً همان کار را انجام می دهد flv4php- و با عملکرد خوب تضمین شده :)

3.2. خودتان این کار را انجام دهید یا همه چیز پیچیده به نظر می رسد.

$start = (int) filter_input(INPUT_GET، "موقعیت"، FILTER_VALIDATE_INT);
اگر ($start< 0) die("Incorrect request");
// فایل را برای خواندن باز کنید
$fp = fopen("sample.flv"، "r");
$fsize = حجم فایل ($file);
اگر ($start > 0)
{
// به دنبال موقعیت درخواستی
fseek ($fp، $start);
// هدر FLV برای قسمت فیلم. شعبده بازي. به من اعتماد کن ؛)
// کد هدر به طور کامل از پروژه flv4php گرفته شده است
$header = "FLV" . بسته ("C"، 1) . بسته ("C"، 5) . بسته ("N"، 9). بسته ("N"، 9);
header("Content-Length: " . (strlen($header) + $fsize - $start));
echo $header;
) دیگر (
header("Content-Length: " . $fsize);
}
while(!feof($fp)) (
print(fread($fp, 1024));
}
fclose($fp);

همانطور که می بینید، همه چیز بسیار ساده است، من فکر می کنم، توضیحات اضافی است.

4. تبدیل به FLV از فرمت های دیگر. مبانی ffmpeg & منکودر. اطلاعات متا و نحوه پر کردن آن در یک فایل FLV.

وای، ما عملاً تمام شدیم. در این فصل، من کمی در مورد نحوه تبدیل محتوای ویدیویی به فرمت FLV و نحوه قرار دادن اطلاعات متا در فیلم‌های نهایی صحبت خواهم کرد، که برای پخش جریانی HTTP ضروری است. من روی نرم‌افزارهای موجود تحت MS Windows تمرکز نمی‌کنم، به جای آن روی راه‌حل‌های *nix تمرکز می‌کنم (این راز نیست که اکثر پروژه‌های وب روی سرورهای *nix/Linux/FreeBSD اجرا می‌شوند و این اطلاعات ممکن است مفید باشد).
معروف ترین و قدرتمندترین پروژه ها - ffmpegو منکودر. هر دو برنامه با اکثر فرمت های ویدیویی شناخته شده در حال حاضر کار می کنند، دارای پایگاه داده کدک گسترده و/یا توانایی اتصال کدک های سفارشی هستند. هر دو با سرعت خوبی کار می‌کنند (با این حال، می‌دانید که پردازش ویدیو یک کار بی‌شکر است و منابع و زمان زیادی را می‌طلبد).
برای تبدیل یک فیلم موجود به فرمت FLV، باید چیزی شبیه به دستورات زیر را اجرا کنید:
ffmpeg:
$ ffmpeg -i sample.avi sample.flv
(مستندات را ببینید ffmpeg -