PDA

View Full Version : سوال: Live Video Streaming



mnakhaeipoor
یک شنبه 16 خرداد 1395, 10:38 صبح
سلام بر حضرات و اساتید
من یک برد Raspberry Pi دارم که میاد و به طور زنده فیلمی که دوربینش در حال ظبط هست رو به یک سرور PHP ارسال میکنه
حالا سوال من اینه که چطوری در سمت سرور اون Video رو دریافت کنم و در آن واحد ارسالش کنم به یک اپلیکیشن ویندوزی تا به طور زنده پخشش کنه
متشکر

مهرداد سیف زاده
یک شنبه 16 خرداد 1395, 13:08 عصر
شما به چه طریقی ویدیو رو stream‌میکنید؟
راه استاندارد و منطقی استفاده از rtp هست
سرور php رو در حالت listen قرار بدید. یعنی socket نوع udp بر روی پورت خاصی که رسبری داره میفرسته ایجاد کنید و پکتهای دریافتی و رو برای کلاینت send کنید
در سمت کلاینت هم با ffplay میتونید استریم دریافتی رو پخش کنید
ffplay rtp://0.0.0.0:5560
حالا این 5560 پورتی هست که از سمت سرور php برای شما داره استریم میاد
البته ویدیوی دوربین رسبری باید به فرمتهای رایج مثل h264 باشه.

mnakhaeipoor
یک شنبه 16 خرداد 1395, 14:42 عصر
شما به چه طریقی ویدیو رو stream‌میکنید؟
راه استاندارد و منطقی استفاده از rtp هست
سرور php رو در حالت listen قرار بدید. یعنی socket نوع udp بر روی پورت خاصی که رسبری داره میفرسته ایجاد کنید و پکتهای دریافتی و رو برای کلاینت send کنید
در سمت کلاینت هم با ffplay میتونید استریم دریافتی رو پخش کنید
ffplay rtp://0.0.0.0:5560
حالا این 5560 پورتی هست که از سمت سرور php برای شما داره استریم میاد
البته ویدیوی دوربین رسبری باید به فرمتهای رایج مثل h264 باشه.
خیلی ممنونم
اره از پروتکل RTP استفاده میشه
نمونه کد یا لینکی سراغ ندارید که همین نحوه ارسال پکت های دریافتی به کلاینت رو توضیح داده باشه؟ چون مشکل اصلی من هم همینه
در ضمن من شنیدم از TCP استفاده بشه بهتره چون ظاهرا UDP ممکنه یه سری دیتا رو از دست بده و در کل من شنیدم میگن اذیت میکنه

مهرداد سیف زاده
یک شنبه 16 خرداد 1395, 15:51 عصر
از کد زیر استفاده کنید
http://www.binarytides.com/udp-socket-programming-in-php/
البته بعد از دریافت پکتها همون ها رو برای کلاین sendto کنید

برای استریم udp بهتر از tcp‌هست
چون udp بصورت connection less دیتا رو رد و بدل میکنه و سرعت بیشتری داره.