Текущий браузер не поддерживает просмотр видео кодека h 265 используйте internet explorer
Плагин VLC может воспроизводить потоковое видео в реальном времени через браузер (IE11)
В последнее время проект использовался для воспроизведения видеопотоков в браузере и пытался решить его многими способами, включая использование ffmpeg для транскодирования в rtmp, веб-сокет в сочетании с webrtc и т. Д., Но эффект не очень хороший, и есть определенные потери пакетов Сложность настройки, для нас, которые просто хотят просто реализовать эффект воспроизведения в прямом эфире, насколько это просто, потому что тег HTML video не может напрямую воспроизводить прямой поток rtsp, поэтому для достижения этой цели нам нужны только другие инструменты, эта статья в основном Случай отображения потокового видео RTSP через плагин vlc приведен только для справки.
Ограничения и проблемы
После поиска информации в Интернете все должны знать, что плагин VLC может воспроизводить rtsp в браузере, но большинство статей имеют очень ранние случаи, и многие проблемы с совместимостью очень велики. Плагин в настоящее время поддерживает только, например, как Chrome после версии 46 Не может быть использован вообще。
Renderings
Тестовая среда
Версия браузера IE 11, Версия плагина VLC vlc-1.0.5-win32, если это старшая версия, вы найдете все браузеры, независимо от того, поддерживает ли ваш VLC, или он пустой и не отображается.
Поскольку версия относительно низкая, вы можете загрузить ее, если ее нет или у вас ее нетvlc-1.0.5-win32., Вы должны набирать очки за загрузку файлов сейчас == неудобно
тестовый адрес RTSP
rtsp предоставляет проверяемый адрес здесь, rtsp: //184.72.239.149/vod/mp4: //BigBuckBunny_175k.mov
Откройте VLC для воспроизведения видео и проверки возможности его воспроизведения. Откройте проигрыватель и выберите «Media» -> «Open Network Streaming . » в меню. Просто введите видео адрес во всплывающей странице. Вы также можете напрямую ввести код, вы можете увидеть экран без происшествий.
Код на
Ниже приведен код моей html-страницы: в сочетании с онлайн-регистром, если адрес слегка изменен. Если у вас есть требования на странице, вы можете комбинировать js для расширения функций.
Здесь для просмотра потокового видео в реальном времени используется простой браузер, но вы обнаружите, что есть определенная задержка в видео, которая также должна быть оптимизирована в будущем. Основное окружение этого дела находится под IE, версия 11, Firefox и высокая версия Google, которые я тестировал. Это невозможно, если ваш проект предъявляет особые требования к браузеру, вам нужно использовать другие решения, конечно, если у всех есть Лучшие решения по совместимости могут сказать мне, чтобы учиться и прогрессировать вместе.
Перепечатайте пожалуйста оригинальную ссылку. Содержание этой статьи все отсортировано после практики.
Распространённый в «нулевых» формат DVD, основанный на кодеке MPEG2, по мере появления телевизоров и мониторов с высоким разрешением уже не мог удовлетворять возросшим требованиям к качеству видео. Поэтому появление в 2003 году формата кодирования H.264 было воспринято в основном доброжелательно. Но со временем и этот стандарт перестал отвечать современным нуждам – требовался такой кодек, который бы обеспечивал меньший размер файла при том же битрейте (или увеличенный битрейт при неизменном объёме видеофайла). Так появился усовершенствованный формат H.265, именуемый также HEVC, позволивший уменьшить размеры файлов на 30-50% при сравнимом качестве. В нём реализована поддержка разрешения уровня 8К (8192×4320 пикселей). Насколько успешно продвигается этот стандарт? Давайте разбираться.
Что такое формат H.265 (HEVC)
High Efficiency Video Coding на сегодняшний день является самым современным и продвинутым видеокодеком. Если H.264 (AVC), основанный на кодеке MPEG, был ориентирован на воспроизведение FullHD видео, то его сменщик способен сжимать видеоряд до разрешения UHDTV, или 8К.
Что интересно, к разработке более совершенного стандарта приступили в 2004 году, то есть всего через год после начала внедрения AVC. Первоначально проект назывался H.NGVC, что расшифровывается как Next-generation Video Coding, а затем за стандартом закрепилось нынешнее эволюционное название. Перед экспертной группой VCEG стояла нелёгкая задача: повысить разрешение видео, добившись снижения битрейта, при этом не увеличивая вычислительные мощности оборудования. Требования, прямо скажем, противоречивые, поэтому в полной мере их реализовать не удалось.
И всё-таки разработчикам удалось добиться главного: увеличения максимального размера блока, основной единицы кодека, в 16 раз по сравнению с H.264, у которого он равен 16х16 пикселей. При этом была задействована технология блоков динамического размера, когда кодек во время сжатия видео сам выбирает оптимальное количество пикселей в блоке. Это и позволило новому формату легко поддерживать разрешение 8К, хотя и 4К на сегодня внедряется не такими быстрыми темпами, как хотелось бы. Добавьте сюда технологию параллельного кодирования, и вы получите кодек, способный сжимать видео до размера, на 25-50% меньше, чем у предшественника, при том же качестве.
Новый стандарт был утверждён только в 2012 году и поначалу имел ограниченное применение – в телевидении и IP камерах. Но когда в 2017 году поддержку HEVC реализовали в iOS 11, ситуация начала быстро меняться.
Преимущества HEVC по отношению к старым форматам
С выходом iOS 11 и macOS High Sierra Apple начала усиленно продвигать новые форматы для изображений (HEIF) и видео (HEVC). Задача упростилась в том плане, что новый кодек обеспечивал либо видео лучшего разрешения, либо меньшего размера, что в эпоху глобального обмена контентом имеет немаловажное значение – попробуйте передать по сети файл размером с 10-20 ГБ.
Использование блоков большего размера позволило также сократить время, затрачиваемое на кодирование и, что не менее важно, на декодирование, предотвращая фризы при просмотре видео.
Частично улучшения характеристик нового формата удалось добиться за счёт использования новых технологий, о которых мы уже упоминали. Но за всё нужно платить. В данном случае речь идёт о возрастании нагрузки на аппаратную часть, из чего следует вывод, что для обеспечения декодирования видео в формате HEVC потребуется более мощное оборудование. Второй негативный момент связан с тем, что соответствующие кодеки, по крайней мере, на начальном этапе распространения формата, встроены в популярные проигрыватели в ограниченном количестве. Ещё хуже обстоят дела с «железом» – только передовые модели телевизоров, медиаплееров, телевизионной техники и IP-камер умеют «переваривать» этот формат. Но это, разумеется, дело поправимое в среднесрочной перспективе. Во всяком случае, уже сейчас количество доступных аппаратных и софтверных декодеров стремительно растёт.
Что касается ПК, то поначалу H.265 поддерживали только видеокарты 970/980 от GeForce, а для кодирования среднего видео этого формата на более слабом оборудовании требовалось порядка 10 часов. Сегодня ситуация в этом плане гораздо более благоприятная, а дивиденды от использования HEVC очень даже ощутимы. Главное, что выгода будет тем больше, чем выше качество видео: для разрешения 720p, которое ещё совсем недавно было «золотым стандартом», размер файла будет примерно на 25% меньше, чем в формате H.264. Но для 4К выигрыш составит уже 50%, а если говорить о рипах Blue-ray, то здесь экономия достигается десятикратная, то есть видео такого качества вполне можно упаковать в каких-то 3-4 ГБ.
Рассмотрим основные особенности кодека HEVC с технической точки зрения:
Разумеется, это не все технологические новшества, характеризующие новый кодек. Но и перечисленного вполне достаточно, чтобы специалист смог понять, на что способен новый формат.
Как использовать кодек HEVC
Разумеется, обычного пользователя больше интересует вопрос, чем смотреть видео в формате HEVC/H.265, нежели технические подробности реализации улучшенного стандарта.
Если не привязываться к видеоадаптеру, то самый простой вариант – это использование программных плееров. В частности, всем хорошо известного VLC. Его последняя версия гарантированно поддерживает новый формат.
Но по умолчанию поддержка HEVC здесь выключена, и чтобы смотреть видео, закодированное H.265, необходимо выполнить следующие действия:
В результате вы получите возможность просматривать на компьютере видео, сжатое новым кодеком, вне зависимости от используемой операционной системы.
Примерно таким же способом можно установить HEVC/H.265 на Windows, используя последние версии других популярных медиаплееров – Media Player Classic, KMPlayer, GOM Player и других.
Поддержка H.265 реализована и в некоторых браузерах – Microsoft Edge (начиная с 16-й версии) и Safari (от одиннадцатой версии и выше).
Что касается MacOS High Sierra, то там с новым кодеком справляется стандартное приложение «Видео», хотя если вам нравятся сторонние плееры, то все вышесказанное остаётся справедливым. Аналогичная ситуация и с мобильными девайсами, работающими под iOS 11 – здесь главное, чтобы для воспроизведения нового формата хватило производительности устройства.
Что касается смартфонов и планшетов под Android, то на сегодня получить работающий кодек HEVC/H.265 можно только в приложении MX Player с тем же условием – производительности девайса должно хватать для воспроизведения видео нового формата.
Другое дело, что видео, записанного с использованием кодека HEVC, в сети пока не так много. Остаётся надеяться, что ситуация будет постепенно улучшаться, как это было с предшественником и разрешением 4К – сегодня количество каналов, вещающих в этом формате, растёт в арифметической прогрессии.
В немалой степени проблема касается и оборудования, способного поддерживать сверхвысокие разрешения – среди компьютерных мониторов таковых практически нет, да и телевизоры с разрешением 8192×4320 пикселей – пока не столь распространённое явление. Но технический прогресс не остановить…
есть ли какие-либо веб-браузеры, которые могут воспроизводить кодек H. 265 / MPEG-4 HEVC в виде элемента html5? На какой платформе или оборудовании?
Я слышал слухи о поддержке HEVC в Edge, когда доступно аппаратное декодирование. С текущего ГП и ЦП грузить с аппаратного HEVC декодирования интересно, что другие производители браузеров следующие. Firefox уже работает так для H. 264
Это работает в IE и Edge, но только если есть аппаратная поддержка. Сообщается также, что он работает в браузере Android и Chrome для Android на некоторых устройствах с аппаратной поддержкой.
нет, браузер не поддерживает H. 265. И широкая поддержка вряд ли будет добавлена в ближайшем будущем.
я обновил вопрос, потому что есть отчеты о его работе в Edge, когда доступно аппаратное декодирование.
Это хороший вопрос.
в этом случае браузер еще не поддерживает его. Он выгружает декодирование в ОС (Windows), а ОС выгружается на аппаратное обеспечение. Но результат тот же как иметь поддержку браузера. Это становится дешевле, потому что лицензия была оплачена компанией-чипом.
H. 265 лицензирование исторически было чрезвычайно дорогим. В некоторых случаях на порядок дороже, чем H. 264. MPEG-LA и HEVC Advance patent pools ожидали, что такие компании, как apple и Microsoft, заплатят за это. Но они стали слишком жадными (в частности, HEVC Advance), исключив ценовые ограничения, поэтому Microsoft пришлось бы заплатить сотни миллионы долларов для H. 265, где H. 264 завершает в низких миллионах. HEVC Advance изменил политику лицензирования, но может быть слишком поздно, так как google Microsoft, Amazon, Netflix, Cisco, Mozilla и другие разрабатывают бесплатную альтернативу (под названием "Альянс за открытые СМИ") таким образом, онлайн-видео больше никогда не может быть заложником.
Хром может поддерживать h.265 при компиляции с вышеупомянутым кодеком, включенным во время компиляции.
Это все 64-разрядные версии, поэтому убедитесь, что вы устанавливаете их только на 64-разрядных окнах.
Проблемы воспроизведения видео в Internet Explorer (IE) могут возникать по разным причинам. Большинство из них связано с тем, что для просмотра видеороликов в IE должны быть инсталлированы дополнительные компоненты. Но все же могут быть и другие источники проблемы, поэтому давайте рассмотрим наиболее популярные причины, по которым могут происходить неполадки с процессом воспроизведения и способы их устранения.
Старая версия Internet Explorer
Не обновленная старая версия Internet Explorer может стать причиной того, что пользователь не сможет просмотреть видеоролик. Устранить данную ситуацию можно просто обновив браузер IE до последней версии. Для обновления браузера необходимо выполнить следующие шаги.
- Откройте Internet Explorer и в правом верхнем углу браузера нажмите иконку Сервис в виде шестерни (или комбинацию клавиш Alt+X). Затем в меню, которое откроется выберете пункт О программе
- В окне О программе Internet Explorer нужно удостовериться, что стоит флажок Устанавливать новые версии автоматически
Не инсталлированы или не включены дополнительные компоненты
Наиболее частая причина проблем с просмотром видео. Удебитесь, что в Internet Explorer установлены и включены все нужные дополнительные компоненты для воспроизведения видеофайлов. Для этого необходимо выполнить следующую последовательность действий.
- Откройте Internet Explorer (для примера рассмотрено Internet Explorer 11)
- В верхнем углу браузера нажмите иконку в виде шестерни Сервис (или комбинацию клавиш Alt+X), а потом в меню, которое откроется, выберите пункт Свойства браузера
- В окне Свойства браузера нужно перейти на вкладку Программы
- Потом нажмите кнопку Управление надстройками
- В меню выбора отображения надстроек нажмите пункт Запуск без получения разрешения
- Убедитесь, что в списке надстроек присутствуют такие компоненты: Shockwave Active X Control, Shockwave Flash Object, Silverlight, Проигрыватель Windows Media, Java Plug-in (может быть сразу несколько компонентов) и QuickTime Plug-in. Также необходимо проверить, чтобы их состояние было в режиме Включено
Стоит заметить, что все, вышеуказанные компоненты необходимо также обновить до последней версии. Это можно сделать, посетив официальные сайты разработчиков данных продуктов
Фильтрация ActiveX
Фильтрация ActiveX также может быть причиной проблем с воспроизведением видеофайлов. Поэтому если она настроена, нужно отключить фильтрацию для сайта на котором не показывает ролик. Для этого выполните такие действия.
- Перейдите на сайт, для которого нужно разрешить ActiveX
- В адресной строке нажмите на иконку фильтра
- Далее нажмите кнопку Отключить фильтрацию ActiveX
Если все эти методы не помогли Вам избавиться от проблемы, то стоит проверить воспроизведение видео в других браузерах, так как в том, что не показывает видеофайлы, может быть виноват и устаревший графический драйвер. В этом случае видеоролики не будут воспроизводиться вообще.
Ниже приводится введение в энциклопедию Baidu для H.265:
H.265 - это новый стандарт кодирования видео, разработанный VCEG МСЭ-T после H.264. Стандарт H.265 вращается вокруг существующего стандарта кодирования видео H.264, сохраняя некоторые оригинальные технологии, в то же время улучшая некоторые связанные технологии. Новая технология использует передовые технологии для улучшения взаимосвязи между потоком кода, качеством кодирования, задержкой и сложностью алгоритма для достижения оптимальной настройки. Конкретное содержание исследования включает в себя: повышение эффективности сжатия, повышение надежности и возможностей восстановления после ошибок, уменьшение задержки в реальном времени, сокращение времени получения канала и задержки произвольного доступа, а также уменьшение сложности. Благодаря оптимизации алгоритма H.264 может достичь стандартного разрешения на скорости ниже 1 Мбит / с (разрешение при 1280P720 или менее) передача цифрового изображения; H.265 может реализовать передачу 720P (разрешение 1280), используя скорость передачи 1 ~ 2 Мбит / с720) Обычная передача HD аудио и видео.
По сравнению с H.264, он приносит много качественных улучшений, и можно получить соответствующие сравненияПодробное объяснение различий между H.265 и H.264, Короче говоря, H.265 и HEVC в настоящее время являются очень популярными методами сжатия видео, по сравнению с широко известным H.264, в среднем, они могут принести около 50% экономии ширины.
Архитектура видеоплеера
Типичный современный плеер можно разделить на три части: пользовательский интерфейс, мультимедийный движок и декодер. Архитектурная модель выглядит следующим образом:
Жесткая поддержка декодирования
С ростом популярности видео 4K последние версии операционной системы Apple (Mac Hight Sierra и iOS 11) открыли HEVC (высокоэффективное кодирование видео, также известное как H.265), новый отраслевой стандарт [6]. По сравнению с текущим стандартом сжатия видео H.264, степень сжатия видео может быть увеличена на 50%. С H.265 эффект передачи медиа потокового видео лучше, сохраняя качество видео без изменений. При той же скорости передачи данных это может привести к удвоению качества. На следующем рисунке показаны два изображения с одинаковой скоростью передачи данных и одинаковым разрешением (400 кбит / с, 1080p). На левом изображении используется кодирование H.265, а на правом - кодирование H.264.
Вообще говоря, операционная система использует аппаратное обеспечение (графическую карту) для декодирования видео, закодированного в формате H.265, что имеет преимущества в виде низкого энергопотребления и высокой скорости декодирования. Однако текущая поддержка аппаратного декодирования для кодирования H.265 в браузерах не получила широкого распространения. После тестирования он поддерживается только в настроенных браузерах Chromium [7] и Edge 14. Вы можете использовать эту страницу для проверки воспроизведения видео по запросу браузера, закодированного в H.265. Следующая картинка - скриншот видео H.265, воспроизводимого в Chromium 64:
Следует отметить, что для аппаратного декодирования требуется, чтобы видеокарта пользователя поддерживала кодек H.265. В настоящее время графические карты, поддерживающие декодирование H.265, в основном включают: Intel HD Graphic 4400/4600/5000/5500/6000 / 620, Iris Graphics 5100/5200/6100, NVIDIA GeForce GTX 745, GTX 750, GTX 750 Ti, GTX 850M, GTX 860M, GeForce 830M, 840M, GeForce GTX 970, GTX 980, GTX 970M, GTX 980M, GeForce GTX TITAN X , GeForce GTX 980 Ti, GeForce GTX 750 SE, GTX 950, GTX 960, GeForce GTX 1070, GTX 1080, GeForce GTX 1060, NVIDIA TITAN XP, GeForce GTX 1050, GTX 1050 Ti.
Веб-программное решение
В дополнение к схеме жесткого декодирования, программным декодированием также стал эффективный выбор.Так как декодирование видео H.265 является задачей с интенсивным использованием ЦП с высокими требованиями к производительности, производительность декодера, реализованного языком сценариев на веб-стороне, трудно удовлетворить требованиям. , Исходя из этого, мы можем использовать схему декодирования H.265 на основе Flash, то есть скомпилировать декодер, написанный на языке C, в библиотеку swc через компилятор FlasCC [11], а затем использовать Action Script в проигрывателе Flash для вызова библиотеки swc.
Другое решение основано на HTML5, то есть высокопроизводительный декодер, разработанный Kingsoft Cloud, скомпилирован в библиотеку wasm с помощью технологии WebAssembly. Файл wasm существует в двоичном виде и содержит независимые от платформы виртуальные инструкции (аналогично инструкциям по сборке). Это также решение, принятое многими мобильными платформами.
Связанная технология HTML5
На следующем рисунке приведена фоновая технология основных модулей ядра проигрывателя и зависимостей.
В тех случаях, когда Audio MSE Controller зависит от API расширения Media Source, Stream Loader зависит от стандарта Stream, декодер H.265 зависит от технологии WebAssembly, и каждый модуль делится на разные потоки, в зависимости от Веб-работники.
Расширения Media Source (MSE для краткости):
Он обеспечивает функцию реализации потокового мультимедиа через Интернет без плагинов. Используя MSE API (в основном, в том числе: Media Source, Source Buffer и т. Д.), Медиапотоки можно создавать с помощью JavaScript и воспроизводить с помощью элементов HTMLMediaElement (включая элементы видео и аудио). IE11 (win8 +) и другие современные браузеры поддерживаются.
Streams
Стандарт предоставляет набор API для создания и управления потоковыми данными, в частности, включая ReadableStream, WritableStream и TransformStream. Это позволяет нам обрабатывать данные постепенно, без необходимости кэшировать все данные в памяти для равномерной обработки. Мы можем использовать API Fetch для получения видеоданных, а возвращаемое тело является объектом ReadableStream. Этот объект представляет источник данных, и внутренняя очередь поддерживается для записи базовых источников данных, которые не были прочитаны. Вы можете прочитать данные чанка во внутренней очереди через интерфейс getReader () ReadableStream.
Web Workers
Однопоточный JavaScript имеет возможность многопоточного программирования, так что ядро видеопроигрывателя может разделять такие задачи, как демультиплексирование, декодирование, рендеринг и мониторинг операций пользовательского интерфейса, в разные потоки, а также обрабатывать задачи, требующие большого объема вычислений, и отображать интерфейс параллельно. , Общение между работниками осуществляется через MessageChannel. IE10 + и другие современные браузеры поддерживаются.
WebAssembly
Это технология байт-кода в сети, определяющая универсальный, компактный и быстро загружаемый двоичный формат в качестве цели компиляции. Она может воспроизводить производительность обычного оборудования и работать со скоростью, близкой к нативному приложению. Декодирование видео в формате H.265 в браузере является очень сложной задачей для производительности, и языки сценариев, такие как JavaScript, не подходят для этой задачи. Следовательно, высокопроизводительная библиотека декодирования, написанная на языке C / C ++, может быть скомпилирована в байт-код, а затем запущена через вызовы JavaScript. Эта технология в настоящее время доступна в новых версиях браузеров Chrome, Firefox, Safari и Edge (например, Chrome57 +, Firefox 52+).
Для более подробных различий между H.265 и H.264, вы можете посетитьПодробное объяснение различий между H.265 и H.264。
Архитектура кодирования H.265 / HEVC примерно аналогична архитектуре H.264 / AVC, в основном она включает в себя: внутреннее предсказание (внешнее предсказание), внешнее предсказание (внешнее предсказание), преобразование (преобразование), квантование (квантование), Деблокирующий фильтр, энтропийное кодирование и другие модули.
В архитектуре кодирования HEVC все делится на три основных блока, а именно: блок кодирования (CU), блок прогнозирования (PU) и блок преобразования (TU). По сравнению с H.264 / AVC, H.265 / HEVC предоставляет больше различных инструментов для снижения скорости передачи данных.В единицах кодирования размер каждого макроблока (макроблока / МБ) в H.264 фиксирован и равен 16x16. Пиксели и единица кодирования H.265 могут быть выбраны от самых маленьких 8x8 до самых больших 64x64.
В то же время режим внутреннего предсказания H.265 поддерживает 33 направления (H.264 поддерживает только 8) и обеспечивает лучшую обработку компенсации движения и методы векторного прогнозирования. Повторные сравнительные испытания качества показали, что при одном и том же качестве изображения размер видео, закодированный с помощью H.265, будет уменьшен примерно на 39-44% по сравнению с H.264. Из-за различных методов измерения для контроля качества, эти данные будут соответственно меняться.
В настоящее время, согласно официальному сайту Apple, поддержку HEVC можно объяснить следующим предложением:
iOS 11 and macOS High Sierra introduced support for these new, industry-standard media formats。
Другими словами, поддерживаются следующие устройства.
- iPhone 7 or iPhone 7 Plus or later
- iPad (6th generation)
- iPad Pro (10.5 inch)
- iPad Pro 12.9-inch (2nd generation)
Android
браузер
В настоящее время браузеры не очень дружелюбны к тому, что поддерживает H.265:
В настоящее время популярность HEVC не так высока, но мы все же можем попытаться элегантно воспроизвести видео H265 в Интернете.
Определите, поддерживать ли воспроизведение
Чтобы судить, поддерживает ли платформа видео формата H.265, вы можете судить по значению mimetype H265: type = "video / mp4; codecs = hevc". Например:
Если видео не может быть воспроизведено с использованием H.265, тогда используйте H.264 для воспроизведения, поэтому мы можем установить несколько форматов через источник:
Для веб-платформы мы используем libde265.js, которая является библиотекой, которая декодирует видео H.265 через JS, преобразует данные кадра видео в пиксели rgba и затем рисует их в Canvas. Вот пример использования:
Интеллектуальная рекомендация
Практика работы с регулярными выражениями
Переключатель Kotlin
В Котлине нет оператора коммутатора, и это DESI. Способ Джавы: Котлин написание: .
TIDB Двоичного Источник чтение Чтение статья (7) Drainer сервер Введение
Автор: Хуан Jiahao В предыдущей статье вводится насос сервер, давайте познакомимся реализация Drainer сервера, главная роль Drainer сервера, чтобы получить Двоичный от каждого сервера насоса, и анализ.
Сеть Внимания пирамиды для сегментации сегментации
Сеть Внимания пирамиды для сегментации сегментации Эта статья предлагает сковороду, предлагая функцию модуля привлечения пирамиды (FPA) и Global Module Atterty Upsample (GAU), вводящий очаговый ключ д.
LeetCode 595. Big Countries
LeetCode 595. Big Countries тема There is a table World A country is big if it has an area of bigger than 3 million square km or a population of more than 25 million. Write a SQL solution to output bi.
Читайте также: