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 -> Italian
ja.fmuser.org -> японски
ko.fmuser.org -> корейски
lv.fmuser.org -> латвийски
lt.fmuser.org -> Литовски
mk.fmuser.org -> македонски
ms.fmuser.org -> малайски
mt.fmuser.org -> Малтийски
no.fmuser.org -> Norwegian
fa.fmuser.org -> персийски
pl.fmuser.org -> полски
pt.fmuser.org -> португалски
ro.fmuser.org -> Romanian
ru.fmuser.org -> руски
sr.fmuser.org -> сръбски
sk.fmuser.org -> словашки
sl.fmuser.org -> Словенски
es.fmuser.org -> испански
sw.fmuser.org -> суахили
sv.fmuser.org -> шведски
th.fmuser.org -> Thai
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 stream има библиотека за възпроизвеждане ijkplayer.
2. Протокол Http-flv (не се поддържа от HTML 5, поддържа се от флаш)
Това е да се използва HTTP протокол за поточно предаване на медийно съдържание. HTTP е по-прост и по-известен от RTMP. Забавянето на съдържанието също може да бъде 2-5 секунди, а скоростта на отваряне е по-бърза, тъй като самият HTTP няма сложно взаимодействие на състоянието. Така че от гледна точка на латентността http-flv е по-добър от RTMP.
3. HLS протокол (поддръжка на HTML, поддръжка на Flash)
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 в предварителен преглед на камерата за Android, интерфейсът onpreviewframe е реализиран да улавя данните от всеки видео поток в реално време.
б) Чрез Android mediarecorder свържете localocket във функцията 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
б). чрез Android mediaplay
° С) . поставете изображение на рамката директно през платно
|
Въведете имейл, за да получите изненада
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 -> Italian
ja.fmuser.org -> японски
ko.fmuser.org -> корейски
lv.fmuser.org -> латвийски
lt.fmuser.org -> Литовски
mk.fmuser.org -> македонски
ms.fmuser.org -> малайски
mt.fmuser.org -> Малтийски
no.fmuser.org -> Norwegian
fa.fmuser.org -> персийски
pl.fmuser.org -> полски
pt.fmuser.org -> португалски
ro.fmuser.org -> Romanian
ru.fmuser.org -> руски
sr.fmuser.org -> сръбски
sk.fmuser.org -> словашки
sl.fmuser.org -> Словенски
es.fmuser.org -> испански
sw.fmuser.org -> суахили
sv.fmuser.org -> шведски
th.fmuser.org -> Thai
tr.fmuser.org -> турски
uk.fmuser.org -> украински
ur.fmuser.org -> урду
vi.fmuser.org -> Виетнамски
cy.fmuser.org -> уелски
yi.fmuser.org -> Идиш
FMUSER безжично предаване на видео и аудио по-лесно!
Контакти
Адрес
No.305 Стая HuiLan Сграда No.273 Huanpu Road Гуанджоу Китай 510620
Категории
Бюлетин