FMUSER بی سیم ویدئو و صدا را راحت تر انتقال می دهد!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> آفریقایی
sq.fmuser.org -> آلبانیایی
ar.fmuser.org -> عربی
hy.fmuser.org -> ارمنی
az.fmuser.org -> آذربایجانی
eu.fmuser.org -> باسک
be.fmuser.org -> بلاروسی
bg.fmuser.org -> بلغاری
ca.fmuser.org -> کاتالان
zh-CN.fmuser.org -> چینی (ساده شده)
zh-TW.fmuser.org -> چینی (سنتی)
hr.fmuser.org -> کرواتی
cs.fmuser.org -> چکی
da.fmuser.org -> دانمارکی
nl.fmuser.org -> هلندی
et.fmuser.org -> استونیایی
tl.fmuser.org -> فیلیپینی
fi.fmuser.org -> فنلاندی
fr.fmuser.org -> فرانسوی
gl.fmuser.org -> گالیسیایی
ka.fmuser.org -> گرجی
de.fmuser.org -> آلمانی
el.fmuser.org -> یونانی
ht.fmuser.org -> کریول هائیتی
iw.fmuser.org -> عبری
hi.fmuser.org -> هندی
hu.fmuser.org -> مجارستانی
is.fmuser.org -> ایسلندی
id.fmuser.org -> اندونزیایی
ga.fmuser.org -> ایرلندی
it.fmuser.org -> ایتالیایی
ja.fmuser.org -> ژاپنی
ko.fmuser.org -> کره ای
lv.fmuser.org -> لتونیایی
lt.fmuser.org -> لیتوانیایی
mk.fmuser.org -> مقدونی
ms.fmuser.org -> مالایی
mt.fmuser.org -> مالتیایی
no.fmuser.org -> نروژی
fa.fmuser.org -> فارسی
pl.fmuser.org -> لهستانی
pt.fmuser.org -> پرتغالی
ro.fmuser.org -> رومانیایی
ru.fmuser.org -> روسی
sr.fmuser.org -> صربی
sk.fmuser.org -> اسلواکی
sl.fmuser.org -> اسلوونیایی
es.fmuser.org -> اسپانیایی
sw.fmuser.org -> سواحیلی
sv.fmuser.org -> سوئدی
th.fmuser.org -> تایلندی
tr.fmuser.org -> ترکی
uk.fmuser.org -> اوکراینی
ur.fmuser.org -> اردو
vi.fmuser.org -> ویتنامی
cy.fmuser.org -> ولزی
yi.fmuser.org -> ییدیش
اخیراً با پروژه زنده ویدیو تماس گرفتم ، همچنین برخی از مفاهیم ، فن آوری ها و راه حل های مربوط به ویدیو زنده را خلاصه کردم.
اول از همه ، مفهوم ویدیوی زنده را درک کنید. چندین پروتکل ویدیویی رایج عبارتند از: RTMP ، http-flv ، HLS ، RTP / RTCP.
سپس ما کل روند پخش زنده و فن آوری های مربوطه را توضیح خواهیم داد.
1 ، پروتکل فیلم زنده
در زمینه پخش زنده ، دو نوع پخش زنده وجود دارد: پخش زنده تعاملی و پخش زنده غیر تعاملی.
پخش زنده غیر تعاملی (مانند: رژه زنده ، پخش زنده NBA ، پخش زنده لیگ قهرمانان و غیره) تعامل زیادی ندارد و اجازه می دهد تا 10 ثانیه یا بیشتر تأخیر داشته باشید. منابع آن نسبتاً کم مشخص شده و برای کدگذاری چند کاناله مناسب است (کاربران می توانند با توجه به شرایط شبکه آن را تماشا کنند).
صحنه های معمول پخش زنده تعاملی شامل پخش زنده نشان می دهد ، پخش زنده بازی ، و غیره است. به دلیل نیازهای زیادی برای تعامل بین مجری و مخاطب ، این پخش های مستقیم در 5S به تأخیر می افتند. ویژگی های پخش زنده تعاملی عبارتند از: منابع بیشتر ، مناسب برای کدگذاری چند کاناله ، سرور متوسط فقط به عنوان یک نقش ترانزیت.
رسانه انتقال محتوای زنده شبکه است و پروتکلهای مربوطه برای انتقال فیلم یا صدا در شبکه مورد نیاز است. در حال حاضر ، پروتکل های معمول مناسب برای صحنه های زنده به شرح زیر است.
1. پروتکل RTMP (پشتیبانی نشده توسط HTML 5 ، پشتیبانی شده توسط فلش)
RTMP یک پروتکل رسانه جریان است که پروتکل ثبت اختراع Adobe است. بر اساس TCP ، در چین بسیار محبوب است.
دلیل مشهور: پشتیبانی از نرم افزار منبع باز و کتابخانه منبع باز پایدار و کامل است و رایج ترین راه حل های جریان و پخش جریانی که اساساً مورد استفاده قرار می گیرند ، می توانند پایدار اجرا شوند. به عنوان مثال: منبع آزاد librtmp push stream کتابخانه ، سمت سرویس دارای nginx RTMP پلاگین است ، جریان pull دارای کتابخانه بازی ijkplayer است.
2. پروتکل Http-flv (با HTML 5 پشتیبانی نمی شود ، با فلش پشتیبانی نمی شود)
یعنی استفاده از پروتکل HTTP برای پخش جریانی محتوای رسانه ای. HTTP ساده تر و شناخته شده تر از RTMP است. تأخیر محتوا همچنین می تواند 2-5 ثانیه باشد و سرعت باز شدن بیشتر است ، زیرا HTTP خود هیچ تعامل پیچیده ای ندارد. بنابراین از منظر تأخیر ، http-flv بهتر از RTMP است.
3. پروتکل HLS (پشتیبانی از HTML ، پشتیبانی از فلش)
پخش زنده HTTP یک پروتکل انتقال رسانه جریان است که بر اساس HTTP پیشنهاد شده توسط apple است. HLS یک مزیت بسیار بزرگ دارد: HTML5 را می توان مستقیماً باز و بازی کرد. این بدان معناست که می توان یک پیوند زنده را از طریق wechat و حمل و نقل دیگر به اشتراک گذاشت ، بدون اینکه نیازی به نصب برنامه مستقل با مرورگر باشد ، بنابراین بسیار محبوب است. برنامه زنده اجتماعی ، HLS فقط مورد نیاز است. URL جریان مستقیم مبتنی بر HLS یک فایل m3u8 است ، که شامل چندین فایل کوچک TS ویدیویی اخیر است. تأخیر در این حالت پخش نسبتاً زیاد است (که مربوط به اندازه پرونده TS است) و می تواند 5-7 ثانیه تأخیر را در همان شبکه شهری به دست آورد.
4. پروتکل RTP / RTCP
پروتکل حمل و نقل در زمان واقعی یک پروتکل لایه انتقال برای جریان داده های چندرسانه ای در اینترنت است. RTCP سیگنالینگ کنترل تعاملی و RTP اطلاعات واقعی رسانه را انتقال می دهد.
RTP به طور گسترده ای در نظارت تصویری ، کنفرانس ویدیویی و تلفن IP استفاده می شود ، زیرا یکی از تجربه های مهم کنفرانس ویدیویی و تلفن IP محتوای قوی در زمان واقعی است.
در مقایسه با سه پروتکل فوق ، یک تفاوت مهم بین RTP و آنها این است که پروتکل UDP برای انتقال داده به طور پیش فرض استفاده می شود ، در حالی که RTMP و HTTP براساس پروتکل TCP است.
از تجزیه و تحلیل سناریو استفاده کنید: صحنه جریان صوتی و تصویری در زمان واقعی به تضمین قابل اطمینان نیاز ندارد ، بنابراین نیازی به مکانیزم انتقال مجدد نیست. دیدن تصویر و صدا در زمان واقعی مهم نیست ، هنگام تکان خوردن شبکه مقداری از محتوا را از دست می دهید ، تصویر را تار می کنید و صفحه را پاشید. به منظور انتقال مجدد ، TCP باعث تاخیر و عدم همزمان سازی می شود. اگر بخش خاصی از محتوا پس از یک ثانیه به دلیل انتقال مجدد از راه برسد ، کل مکالمه یک ثانیه به تأخیر می افتد. با لرزش شبکه ، تاخیر به دو ثانیه یا سه ثانیه افزایش می یابد. اگر مشتری پخش را کنترل نکند ، تجربه پخش مستقیم به طور جدی تحت تأثیر قرار می گیرد. نحوه بهینه سازی ، در مقاله زیر توضیح داده خواهد شد.
نتیجه گیری: در انتخاب پروتکل پخش زنده ، اگر RTMP یا http-flv انتخاب شود ، به این معنی است که محتوا تاخیر 2-5 ثانیه وجود دارد ، اما تا آنجا که به تأخیر باز مربوط می شود ، http-flv بهتر از RTMP است . تاخیر محتوای HLS 5-7 ثانیه است. انتخاب RTP برای پخش مستقیم می تواند پخش مستقیم را در مدت زمان 1 ثانیه به تأخیر بیندازد. با این حال ، تا آنجا که ما می دانیم ، تولید کنندگان عمده CDN از پخش زنده بر اساس RTP پشتیبانی نمی کنند ، بنابراین جریان اصلی داخلی در حال حاضر RTMP یا http-flv است.
2 ، فرایند پخش زنده ویدئو
مراحل فنی مربوط به ویدئوی زنده عبارت است از: به دست آوردن جریان ویدئو در زمان واقعی --- کدگذاری جریان ویدئو --- انتقال جریان ویدئو --- رمزگشایی جریان ویدئو --- پخش فیلم
1. ایده ضبط ویدئو در زمان واقعی
الف) با تنظیم setpreviewcallback در پیش نمایش عکسبرداری دوربین آندروید ، رابط onpreviewframe برای ضبط داده های هر جریان ویدئو در زمان واقعی تحقق می یابد.
ب) از طریق ضبط رسانه اندروید ، localsocket را در عملکرد setoutputfile متصل کنید.
ج) پخش جریانی حالت سرور رسانه ، استفاده از ffmpeg یا getstreamer برای دریافت فیلم دوربین.
2. تحقق برنامه نویسی فشرده سازی فیلم
الف) بدون رمزگذاری ، فریم ویدئوی اصلی yuv420sp مستقیماً از طریق سوکت منتقل می شود.
ب) JEPG فریم ویدئوی اصلی yuv420sp را به H.264 فشرده می کند و سپس آن را انتقال می دهد.
ج) H.264 / avc فریم ویدئوی اصلی yuv420sp به H.264 فشرده شده و سپس ارسال می شود. رمزگذارهای منبع باز مشترک مبتنی بر H264 شامل JM ، x264 ، t264 ، hdot264 و غیره
د) mpeg4. قاب ویدئوی اصلی yuv420sp را به MPEG4 فشرده کنید و سپس انتقال دهید
3. ایده انتقال فیلم
آ) . انتقال سوکت
ب) انتقال HTTP
ج) انتقال RTP / RTSP
د) حالت سرور رسانه جریان مانند live555 و غیره
4. تحقق رمزگشایی ویدئو
آ) . رمزگشای مربوط به رمزگذاری
5. ایده پخش فیلم
آ) . از طریق Android videoview
ب) از طریق Mediaplay Android
ج) تصویر قاب را مستقیماً از طریق بوم بچسبانید
|
ایمیل را وارد کنید تا غافلگیر شوید
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> آفریقایی
sq.fmuser.org -> آلبانیایی
ar.fmuser.org -> عربی
hy.fmuser.org -> ارمنی
az.fmuser.org -> آذربایجانی
eu.fmuser.org -> باسک
be.fmuser.org -> بلاروسی
bg.fmuser.org -> بلغاری
ca.fmuser.org -> کاتالان
zh-CN.fmuser.org -> چینی (ساده شده)
zh-TW.fmuser.org -> چینی (سنتی)
hr.fmuser.org -> کرواتی
cs.fmuser.org -> چکی
da.fmuser.org -> دانمارکی
nl.fmuser.org -> هلندی
et.fmuser.org -> استونیایی
tl.fmuser.org -> فیلیپینی
fi.fmuser.org -> فنلاندی
fr.fmuser.org -> فرانسوی
gl.fmuser.org -> گالیسیایی
ka.fmuser.org -> گرجی
de.fmuser.org -> آلمانی
el.fmuser.org -> یونانی
ht.fmuser.org -> کریول هائیتی
iw.fmuser.org -> عبری
hi.fmuser.org -> هندی
hu.fmuser.org -> مجارستانی
is.fmuser.org -> ایسلندی
id.fmuser.org -> اندونزیایی
ga.fmuser.org -> ایرلندی
it.fmuser.org -> ایتالیایی
ja.fmuser.org -> ژاپنی
ko.fmuser.org -> کره ای
lv.fmuser.org -> لتونیایی
lt.fmuser.org -> لیتوانیایی
mk.fmuser.org -> مقدونی
ms.fmuser.org -> مالایی
mt.fmuser.org -> مالتیایی
no.fmuser.org -> نروژی
fa.fmuser.org -> فارسی
pl.fmuser.org -> لهستانی
pt.fmuser.org -> پرتغالی
ro.fmuser.org -> رومانیایی
ru.fmuser.org -> روسی
sr.fmuser.org -> صربی
sk.fmuser.org -> اسلواکی
sl.fmuser.org -> اسلوونیایی
es.fmuser.org -> اسپانیایی
sw.fmuser.org -> سواحیلی
sv.fmuser.org -> سوئدی
th.fmuser.org -> تایلندی
tr.fmuser.org -> ترکی
uk.fmuser.org -> اوکراینی
ur.fmuser.org -> اردو
vi.fmuser.org -> ویتنامی
cy.fmuser.org -> ولزی
yi.fmuser.org -> ییدیش
FMUSER بی سیم ویدئو و صدا را راحت تر انتقال می دهد!
تماس با ما
نشانی:
شماره 305 اتاق HuiLan ساختمان شماره 273 Huanpu Road گوانگژو چین 510620
دسته بندی ها
عضویت در خبرنامه