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 -> Ідиш
04. Ознайомлення з базовими знаннями прямого ефіру
1. Зберіть відео та аудіо
* 1.1 Захоплення фреймворку кодування відео та аудіо *
AVFoundation: AVFoundation - це рамка для відтворення та створення аудіовізуальних медіа-даних у режимі реального часу. Він також забезпечує інтерфейс Objective-C для роботи з цими аудіовізуальними даними, такими як редагування, обертання та перекодування
* 1.2 Апаратне обладнання для відео та аудіо *
CCD: Датчик зображення: Використовується в процесі збору та обробки зображення для перетворення зображень в електричні сигнали.
Пікап: Датчик звуку: Використовується в процесі збору та обробки звуку, перетворюючи звук в електричні сигнали.
Дані зразка аудіо: зазвичай у форматі PCM
Дані вибірки відео: як правило, це формат у форматі YUV або RGB. Обсяг зібраного оригінального аудіо та відео дуже великий, і його потрібно обробляти за допомогою технології стиснення для підвищення ефективності передачі
2. Обробка відео (краса, водяний знак)
Принцип обробки відео: Оскільки відео нарешті відображається на екрані через графічний процесор, кадр за кадром, ми можемо використовувати OpenGL ES для обробки відеокадрів, щоб відео мало різні ефекти, подібно до того, як кран, що витікає, вода проходить через кілька труби, а потім тече до різних цілей
Зараз всі види програм для краси та відео додають спеціальні ефекти, реалізовані за допомогою фреймворка GPUImage.
* Рамка обробки відео *
GPUImage: GPUImage - це потужна система обробки зображень / відео, заснована на OpenGL ES. Він інкапсулює різні фільтри, а також може писати власні фільтри. Він має вбудовані понад 120 загальних ефектів фільтра.
OpenGL: OpenGL (Відкрита бібліотека графіки повністю) - це специфікація, яка визначає мову крос-програмування, інтерфейс міжплатформеного програмування, який використовується для тривимірних зображень (двовимірна також можлива). OpenGL - це професійний графічний інтерфейс програми, потужна, проста у виклику базова графічна бібліотека.
OpenGL ES: OpenGL ES (OpenGL для вбудованих систем) - це підмножина графічного API OpenGL 3D, призначена для вбудованих пристроїв, таких як мобільні телефони, КПК та ігрові консолі.
3. Кодування та декодування відео
* 3.1 Рамка кодування відео *
FFmpeg: це міжплатформний фреймворк з відкритим кодом, який може реалізовувати такі розширені функції, як кодування відео, декодування, перекодування, потокове передавання та відтворення. Підтримувані формати відео та протоколи відтворення дуже багаті, включаючи майже всі аудіо- та відеокодеки, формати інкапсуляції та протоколи відтворення.
-Libswresample: Він може виконувати такі операції, як передискретизація, рематриця та перетворення формату дискретизації аудіо.
-LibavCodec: забезпечує загальну структуру кодеків, що включає безліч відео, аудіо, потоків субтитрів та інших кодеків / декодерів.
-Libavformat: Використовується для інкапсуляції / декапсуляції відео.
-Libavutil: Містить деякі загальні функції, такі як генерація випадкових чисел, структура даних, математичні операції тощо.
-Libpostproc: використовується для подальшої обробки відео.
-Libswscale: використовується для масштабування відеозображень, перетворення кольорового простору тощо.
-Libavfilter: Забезпечити функцію фільтра.
X264: кодування YuV та стиснення вихідних відеоданих у формат H.264
VideoToolbox: власний API для жорсткого декодування та жорсткого кодування відео від Apple, але відкритий лише після iOS8.
audioToolbox: власний API для жорсткого декодування та жорсткого кодування від Apple
* 3.2 Технологія кодування відео *
Стандарти кодування відео стиснення: технології кодування для стиснення відео (кодування відео) або декомпресії (декодування відео), такі як MPEG, H.264, ці технології кодування відео є кодуванням відео стиснення
Основна функція: стискати дані відеопікселів у відеопотік, зменшуючи тим самим кількість відеоданих. Якщо відео не стискається та кодується, гучність, як правило, дуже велика, і для фільму може знадобитися сотні гігабайт місця.
Примітка: Найбільший вплив на якість відео мають дані кодування відео та дані кодування звуку, що не має нічого спільного з форматом упаковки
MPEG: метод стиснення відео, який використовує міжкадрове стиснення, зберігаючи лише різницю між послідовними кадрами, щоб досягти більшого ступеня стиснення
H.264 / AVC: метод стиснення відео, який використовує попереднє передбачення та той самий метод передбачення кадру, що і кадр PB у MPEG. Він може генерувати відеопотік, придатний для мережевої передачі відповідно до потреб, і має вищий ступінь стиснення. Майте кращу якість зображення
Примітка 1. Якщо порівняти визначення одного екрану, mpeg4 має перевагу; з визначення безперервності дії, H.264 має перевагу
Примітка 2: Оскільки алгоритм 264 є більш складним, програма є громіздкою для реалізації, і їй потрібно більше ресурсів процесора та пам'яті для її запуску. Тому запуск 264 вимагає відносно високих системних вимог.
Примітка 3: Оскільки реалізація 264 є більш гнучкою, деякі реалізації залишаються за власними виробниками. Незважаючи на те, що це приносить багато переваг впровадженню, взаємозв'язок між різними продуктами став великою проблемою, що призвело до прийняття компанії A Дані, зібрані кодером, повинні вирішуватися декодером компанії A, щоб вирішити такі незручні речі
H.265 / HEVC: метод стиснення відео, заснований на H.264, зберігаючи деякі оригінальні технології, одночасно вдосконалюючи деякі супутні технології для покращення взаємозв'язку між потоком бітів, якістю кодування, відносинами складності алгоритму для досягнення оптимального налаштування.
H.265 - це більш ефективний стандарт кодування, який може стискати обсяг вмісту до меншого розміру за однакового ефекту якості зображення, передавати швидше та економити пропускну здатність.
Я кадр: (ключовий кадр) зберігаю повне зображення, для завершення декодування потрібні лише дані цього кадру (оскільки він містить повне зображення
P-кадр: (Кадр різниці) Зберігається різниця між цим кадром і попереднім кадром. Під час декодування попередньо буферизоване зображення потрібно накласти на різницю, визначену цим кадром, щоб сформувати остаточне зображення. (P-кадр не має повних даних зображення, лише дані, що відрізняються від зображення попереднього кадру)
B кадр: (двостороння різниця кадрів) зберігає різницю між поточним кадром та попереднім та наступним кадрами. Для декодування кадру B потрібно отримати не тільки попереднє буферизоване зображення, але й декодоване зображення. Кінцевий результат отримується завдяки накладенню зображень спереду та ззаду та поточних даних кадру Зображення. Швидкість стиснення кадру B висока, але процесор буде більше втомлюватися при декодуванні
Внутрішньокадрове стиснення: При стисненні кадру зображення враховуються лише дані цього кадру без урахування зайвої інформації між сусідніми кадрами. Як правило, у кадрі використовується алгоритм стиснення з втратами
Стиснення InteRFrame: тимчасове стиснення, яке стискає дані шляхом порівняння даних між різними кадрами на осі часу. Міжкадрове стиснення, як правило, без втрат
мультиплексування (синтез): інкапсулюйте відеопотоки, аудіопотоки і навіть потоки субтитрів у файл (формат контейнера (FLV, TS)) і передайте його як сигнал.
* 3.3 Технологія кодування аудіо *
AAC, mp3: це технології кодування звуку, що використовуються для стисненого звуку
* 3.4 Контроль швидкості *
Мультибітрейт: мережева ситуація, в якій перебуває аудиторія, дуже складна, це може бути Wi-Fi, це може бути 4G, 3G або навіть 2G, так як задовольнити потреби декількох сторін? Створіть ще кілька рядків та налаштуйте швидкість передачі даних відповідно до поточного мережевого середовища.
Наприклад: Я часто бачу 1024, 720, HD, SD, плавне зображення тощо у програмі для відтворення відео, що стосується різних бітрейтів.
* 3.5 Формат упаковки відео *
TS: Формат інкапсуляції потокового мультимедіа. Інкапсуляція потокових медіа має ту перевагу, що не потрібно завантажувати індекс перед відтворенням, що значно зменшує затримку першого завантаження. Якщо фільм відносно довгий, індекс файлу mp4 досить великий, що впливає на досвід користувача
Навіщо використовувати TS: це тому, що два кліпи TS можна безперервно зрощувати, і програвач може відтворювати безперервно
FLV: Формат інкапсуляції потокового мультимедіа. Завдяки надзвичайно малому розміру файлу та надзвичайно швидкій швидкості завантаження, це дозволяє переглядати відеофайли в Інтернеті. Тому формат FLV сьогодні став основним відеоформатом.
4. Push Stream
* 4.1 Рамка передачі даних *
librtmp: використовується для передачі даних у форматі протоколу RTMP
* 4.2 Протокол передачі потокових даних мультимедіа *
RTMP: протокол обміну повідомленнями в режимі реального часу, відкритий протокол, розроблений Adobe Systems для передачі аудіо, відео та даних між програвачами Flash та серверами. Оскільки це відкритий протокол, його можна використовувати.
Протокол RTMP використовується для передачі об'єктів, відео та аудіо.
Цей протокол побудований поверх протоколу TCP або протоколу HTTP опитування.
Протокол RTMP схожий на контейнер, який використовується для зберігання пакетів даних. Ці дані можуть бути аудіовізуальними даними в FLV. Одне з’єднання може передавати кілька потоків мережі через різні канали, і пакети в цих каналах передаються в пакетах фіксованого розміру
шматок: пакет повідомлень
5. Потоковий медіасервер
* 5.1 Загальновживані сервери *
SRS: Відмінна система потокових медіасерверів з відкритим кодом, розроблена китайцями
BMS: Це також система потокового мультимедійного сервера, але не з відкритим кодом. Це комерційна версія SRS і має більше функцій, ніж SRS
nginx: безкоштовний веб-сервер із відкритим кодом, який зазвичай використовується для налаштування потокових медіасерверів.
* 5.2 Розподіл даних *
CDN: (Content Delivery Network), мережа доставки вмісту, публікує вміст веб-сайту до "краю" мережі, найближчої до користувача, так що користувач може отримати бажаний вміст поруч, вирішує перевантаженість мережі Інтернет , і покращує доступ користувача до веб-сайту, швидкість реагування.
CDN: проксі-сервер, еквівалентний посереднику.
Принцип роботи CDN: такий як запит потокових медіа-даних
1. Завантажте потокові мультимедійні дані на сервер (початковий сайт)
2. Станція джерела зберігає потокові мультимедійні дані
3. Клієнт відтворює потоковий медіа та запитує закодовані потокові мультимедійні дані з CDN
4. Сервер CDN відповідає на запит. Якщо потокові мультимедійні дані не існують на вузлі, він продовжує запитувати потокові мультимедійні дані від вихідної станції; якщо відеофайл вже кешований на вузлі, перейдіть до кроку 6.
5. Початковий сайт відповідає на запит CDN і розподіляє потоковий медіафайл до відповідного вузла CDN
6. CDN надсилає потокові мультимедійні дані клієнту
Повернення до джерела: Коли користувач відвідує певну URL-адресу, якщо проаналізований вузол CDN не кешує вміст відповіді або термін дії кешу закінчився, він повернеться на вихідний сайт, щоб отримати пошук. Якщо ніхто не відвідує, то вузол CDN не буде активно переходити на вихідний сайт, щоб отримати його.
Пропускна здатність: загальний обсяг даних, які можна передавати у визначений час,
Наприклад, 64-розрядна фронтальна шина 800 МГц, швидкість передачі даних дорівнює 64 біт × 800 МГц ÷ 8 (байт) = 6.4 ГБ / с
Балансування навантаження: Набір серверів складається з декількох серверів симетрично. Кожен сервер має еквівалентний статус і може надавати послуги самостійно без допомоги інших серверів.
За допомогою певної технології розподілу навантаження запити, надіслані зовні, рівномірно розподіляються на певний сервер у симетричній структурі, а сервер, який отримує запит, самостійно відповідає на запит клієнта.
Балансування навантаження може рівномірно розподіляти запити клієнтів на серверний масив, забезпечуючи тим самим швидкий доступ до важливих даних і вирішуючи проблему великої кількості служб одночасного доступу.
Ця кластерна технологія може досягти продуктивності, наближеної до мейнфрейму, за мінімальних інвестицій.
QoS (управління пропускною здатністю): Обмежте пропускну здатність кожної групи, щоб обмежена пропускна здатність могла використовуватись до максимального ефекту
6. Витягніть потік
Вибір протоколу прямої трансляції:
RTMP, RTSP можна використовувати для тих, хто має високі вимоги в режимі реального часу або інтерактивні потреби
Для тих, хто вимагає відтворення або крос-платформенних вимог, рекомендується HLS
Порівняння протоколів прямих трансляцій: (5)
HLS: протокол потокового передавання в режимі реального часу, визначений Apple. HLS реалізований на основі протоколу HTTP. Вміст передачі включає дві частини, одна - файл опису M3U8, а інша - медіа-файл TS. Він може реалізовувати потокові медіа та трансляції на замовлення, які в основному використовуються в системі iOS
HLS має забезпечити пряме мовлення за технологією на вимогу
HLS - це адаптивна потокова передача даних. Клієнт автоматично вибирає відеопотоки з різними бітрейтами відповідно до мережевих умов. Використовуйте високий бітрейт, якщо дозволяють умови, а також низький бітрейт, коли мережа зайнята, і автоматично перемикайтеся між ними за бажанням
змінити. Це дуже корисно для забезпечення плавного відтворення, коли мережеві умови мобільного пристрою нестабільні.
Метод реалізації полягає в тому, що сервер забезпечує багатобітрейтний відеопотік, і це зазначається у файлі списку, і програвач автоматично регулює відповідно до прогресу відтворення та швидкості завантаження.
Порівняння HLS і RTMP: HLS в основному обумовлений відносно великою затримкою, а головною перевагою RTMP є низька затримка
Метод малих зрізів протоколу HLS генерує велику кількість файлів, і зберігання або обробка цих файлів призведе до великої витрати ресурсів
Порівняно з протоколом SP, перевага полягає в тому, що після завершення сегментації в подальшому процесі розподілу взагалі не потрібно використовувати спеціальне програмне забезпечення. Достатньо звичайного мережевого сервера, що значно зменшує вимоги до конфігурації крайнього сервера CDN, і можна використовувати будь-який готовий CDN. , І загальні сервери рідко підтримують RTSP.
HTTP-FLV: Потокове передавання мультимедійного вмісту на основі протоколу HTTP.
Порівняно з RTMP, HTTP є простішим і відомим, затримка вмісту також може становити 1 ~ 3 секунди, а швидкість відкриття швидша, оскільки сам HTTP не має складних взаємодій стану. Отже, з точки зору латентності HTTP-FLV є кращим, ніж RTMP.
RTSP: Протокол потокового передавання в режимі реального часу визначає, як програми «один до багатьох» можуть ефективно передавати мультимедійні дані через IP-мережу.
RTP: Транспортний протокол у реальному часі. RTP побудований на протоколі UDP і часто використовується разом з RTCP. Він не забезпечує своєчасного механізму доставки або інших гарантій якості обслуговування (QoS). Для досягнення цього процесу він покладається на послуги низького рівня.
RTCP: Підтримуючий протокол RTP, основною функцією є надання зворотного зв'язку щодо якості обслуговування (QoS), що надається RTP, і збір статистичної інформації про медіа-з'єднання, наприклад, кількість переданих байтів, кількість переданих пакетів, кількість втрачених пакетів, односторонні та двосторонні мережі затримки тощо.
7. Розшифровка
* 7.1 Декапсуляція *
Демексування (розділення): розкладіть відео, аудіо чи субтитри з файлу (формат контейнера (FLV, TS)), синтезованого з відеопотоку, аудіопотоку та потоку субтитрів, та декодуйте їх окремо.
* 7.2 Рамка кодування звуку *
fdk_aac: рамки кодування та декодування звуку, аудіодані PCM та перетворення аудіоданих AAC
* 7.3 Вступ до декодування *
Жорстке декодування: використовуйте графічний процесор для декодування, зменшіть кількість процесорів
Переваги: плавне відтворення, низьке споживання енергії, швидка швидкість декодування,
* Недоліки: погана сумісність
М'яке декодування: використовуйте процесор для декодування
Переваги: хороша сумісність
* Недоліки: збільшення навантаження на процесор, збільшення енергоспоживання, відсутність обладнання
Плавне декодування, відносно повільна швидкість декодування
8. Грати
ijkplayer: відеоплеєр для Android / iOS з відкритим кодом, заснований на FFmpeg
API легко інтегрувати;
Конфігурацію компіляції можна вирізати, щоб полегшити контроль розміру інсталяційного пакета;
Підтримка декодування апаратного прискорення, більша економія енергії
Простий і простий у використанні, вкажіть URL-адресу потокового передавання, автоматично декодуйте та відтворюйте.
9. Чат-взаємодія
Чат: (InstantMessaging) Миттєві повідомлення: це система зв'язку в режимі реального часу, яка дозволяє двом або більше людям використовувати мережу для спілкування в режимі реального часу текстових повідомлень, файлів, голосу та відео.
Основна роль ІМ у системі прямого ефіру полягає у реалізації текстової взаємодії між аудиторією та якорем, а також між аудиторією та аудиторією.
* Сторонній SDK *
Tencent Cloud: пакет SDK для обміну миттєвими повідомленнями, наданий Tencent, який можна використовувати як кімнату чату
Rongyun: Часто використовуваний SDK для обміну миттєвими повідомленнями, який можна використовувати як кімнату чату
5. Як швидко розробити повний додаток для прямого потокового передавання iOS
1. Використовуйте сторонній пакет прямого потокового SDK для швидкого розвитку
Qiniu Cloud: Qiniu Live Cloud - це глобальна послуга прямої трансляції, створена спеціально для платформ прямої трансляції та платформа сервісів хмарних служб на рівні підприємства, яка реалізує наскрізні сценарії прямої трансляції SDK.
* Прямі трансляції платформ, таких як Panda TV та Dragon Ball TV, використовують Qiniu Cloud
NetEase Video Cloud: заснована на професійній крос-платформній технології відеокодеків та широкомасштабній мережі розподілу відеовмісту, вона забезпечує стабільні, плавні, низькі затримки, висококонкурентні аудіо- та відеосервіси в режимі реального часу та може легко підключати відео в реальному часі до власний додаток.
2. Чому сторонні компанії SDK надають нам SDK?
Ми сподіваємось прив’язати наш продукт та його до того самого човна і більше покладатися на нього.
Технології заробляють гроші та допомагають зібрати велику кількість програмістів
3. Функція прямого ефіру: самостійне дослідження або використання стороннього розробника SDK для прямого ефіру?
Розробка сторонніх SDK: Для команди-початківця саморозроблена пряма трансляція має великий поріг з точки зору технічного порогу, CDN та пропускної здатності, і для виготовлення готового продукту, який не сприяє, потрібно багато часу до інвестицій.
Самостійне дослідження: Платформа прямого мовлення компанії велика. У довгостроковій перспективі самостійне дослідження може заощадити витрати, а технічні аспекти набагато керованіші, ніж безпосереднє використання SDK.
4. Переваги сторонніх SDK
знизити вартість
Користуйтеся хорошими сторонніми корпоративними послугами, вам більше не доведеться витрачати високі ціни, щоб найняти мисливців на копання дорогих великих корів, і немає потреби заспокоювати особистий темперамент великих корів.
Підвищення ефективності
Зосередження сторонніх служб та зручність інтеграції коду може зайняти лише 1-2 години, що економить майже 99% часу, цього достатньо в обмін на більший час для боротьби з конкурентами та збільшення. Велика можливість успіху
зменшити ризик
За допомогою професійних сторонніх послуг завдяки своїм швидким, професійним, стабільним та іншим характеристикам він може значно підвищити конкурентоспроможність продукції (високоякісні послуги, швидкість досліджень та розробок тощо) та скоротити пробний період і час помилок, що, безсумнівно, буде одним із засобів для порятунку життя у підприємництві.
|
Введіть електронну адресу, щоб отримати сюрприз
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 бездротовий передавати відео та аудіо простіше!
Контакти
Адреса:
No.305 Кімната HuiLan Будівля No273 Huanpu Road Гуанчжоу Китай 510620
Категорії
Інформаційний бюлетень