МВидео, Москва, пл. Киевского Вокзала, д. 2, ТРЦ «Европейский»
Вы тут: Главная > МВидео > Москва > МВидео по адресу Москва, пл. Киевского Вокзала, д. 2, ТРЦ «Европейский»
Москва Отзывы
Магазин МВидео расположен по адресу:
— Москва, пл. Киевского Вокзала, д. 2, ТРЦ «Европейский»
Время работы:
Телефон: 8-800-600-777-5
Каталог товаров магазина можете уточнить на официальном сайте сети https://www.mvideo.ru/ , по телефону 8-800-600-777-5 , а также на нашем сайте в разделе «Каталог МВидео». Ознакомьтесь с отзывами покупателей, оставляйте свои. Приятных покупок!
Карта проезда:
Отзывы покупателей о магазине МВидео по адресу Москва, пл. Киевского Вокзала, д. 2, ТРЦ «Европейский»
0.0 Нет отзывов основано на 0 отзывах
На основании 0 отзывов клиентов и оценок, которые они поставили
мы можем сказать, что не рекомендуем этот магазин к посещению
Другие магазины МВидео в городе Москва
-
МВидео
Красная Пресня, д. 23, к. Б, стр. 1
- 8-800-600-777-5
- Круглосуточно
-
МВидео
Москва, пр-т Мира, д. 91, к. 1- 8-800-600-777-5
- Круглосуточно
-
МВидео
Москва, ул. Обручева, д. 34/63- 8-800-600-777-5
- Круглосуточно
-
МВидео
Москва, Алтуфьевское ш., д. 70, к. 1, TЦ «Маркос Молл»- 8-800-600-777-5
- Круглосуточно
-
МВидео
Москва, ш. Энтузиастов, д. 12, к. 2, ТРК «Город»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, ул.Автозаводская, д. 18, ТРЦ «Ривьера»
- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, Ленинский пр-т, д. 54, универмаг «Москва»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, Дмитровское ш., д. 116Д, ТЦ «Наш»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, ул. Венёвская, д. 6, ТРЦ «Витте Молл»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, ул. Куликовская, д. 6- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, пр.Дежнёва, д. 23А, ТЦ «Эго Молл»
- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, Бесединское ш., д. 15, ТЦ «Парк Хаус»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, Чонгарский б-р, д. 3- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, Алтуфьевское ш., вл. 8, ТРК «Алтуфьевский»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, Ленинградское шоссе, д. 16а, строение 4, ТЦ «Метрополис»- 8-800-600-777-5
- 10:00 — 23:00
-
МВидео
Москва, Пресненская наб., д. 2
- 8-800-600-777-5
- вс-чт 10-22, пт-сб 10-23
-
МВидео
Москва, Ходынский б-р, д. 4- 8-800-600-777-5
-
МВидео
Москва, ул. Генерала Белова , д. 35- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, Каширское ш., д. 61, к. 2, ТРЦ «Каширская Плаза»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, Ленинский пр-т, д. 109, ТРЦ «Рио»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, Пролетарский пр-т, вл.30, ТЦ «Ашан-Пролетарский»
- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, Каширское ш., д. 26, ТРК «Москворечье»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, ул. Верхняя Красносельская, вл. 3а, ТЦ «Тройка»- 8-800-600-777-5
- 9:00 — 22:00
-
МВидео
Москва, Садовая-Спасская ул., д. 3, стр. 3- 8-800-600-777-5
- круглосуточно
-
МВидео
Москва, ул. Большая Черёмушкинская, д. 1, ТРЦ «Рио»- 8-800-600-777-5
- 10:00 — 22:00
МВидео
Москва, ул.Зеленодольская, д. 40, ТЦ «Будапешт»
- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, ул. Земляной вал, д. 33- 8-800-600-777-5
- 10:00 — 23:00
-
МВидео
Москва, ул. Вавилова, д. 3, ТЦ «Гагаринский»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, ул. Марксистская, д. 1, к.1, ТЦ «Шоколад»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, ул. Люблинская, д. 169- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, ул.Митинская, д. 36, к. 1, стр. 38, ТК «Ковчег»
- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, 65-66-й км МКАД, ТРЦ «Вегас»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, Свободный пр-т, д. 33, ТД «Перовский»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, ул. Новокосинская, д. 14А, ТК «Новый век»- 8-800-600-777-5
- 10:00 — 21:00
-
МВидео
Москва, Мичуринский пр-т, Олимпийская деревня, д.3, к. 1, ТРЦ «Фестиваль»
- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, ул. Народного Ополчения, д. 28, к. 1- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, Дмитровское ш., д. 43, к. 1- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, Хорошёвское шоссе, д. 27-33/1, ТЦ «Хорошо»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, Варшавское ш., д. 140, ТРЦ «Columbus»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, ул.Большая Черкизовская, д. 1, стр. 1
- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, ул. Фестивальная, вл. 2Б, ТЦ «Речной»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, Рязанский пр-т, д. 28, стр. 1, ТК «Перекрёсток»- 8-800-600-777-5
- 10:00 — 21:00
-
МВидео
Москва, ул. Хабарова, д. 2, ТРК «Новомосковский»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, ул. Измайловский вал, д.3, стр. 1
- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, Кутузовский пр-т, д. 57, ТРЦ «Океания»- 8-800-600-777-5
- 10:00 — 22:00, пт,сб 10:00 — 23:00
-
МВидео
Москва, Славянский б-р, д. 13, стр. 1- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, ул. Русаковская, д. 22- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, Строгинский б-р, д. 1, ТЦ «Дарья»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, ул.Сходненская, д. 56, ТЦ «Калейдоскоп»
- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, пр-т Андропова, д. 8, ТЦ «Мегаполис»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, Трубная пл., д. 2, ТЦ «Неглинная галерея»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, ул. Большая Тульская, д. 13, TРЦ «Ереван Плаза»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, Новоясеневский пр-т, д.1, ТРЦ «Спектр»
- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, Багратионовский пр., д. 5, ТРЦ «Филион»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, Щёлковское ш., д. 100, к. 101, ТЦ «Щёлково»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, пр-т Вернадского, д. 86А- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, Новоясеневский пр-т, вл. 7, ТЦ «Калита»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, п.Коммунарка, ул. Александры Монаховой, д. 61 стр. 1, ТЦ «Глобус»
- 8-800-600-777-5
- 8:00 — 22:00
-
МВидео
Москва, Рублёвское шоссе, д. 62, ТЦ «ЕвроПарк»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, ул. Проспект Мира, д. 92 стр. 2, ТК «Крестовский»- 8-800-600-777-5
- Пн-Сб 9:30-22:00;Вс 10:00-22:00
-
МВидео
Москва, ТПЗ «Алтуфьево», пос. Вешки, МКАД, 84-й км, вл. 3, стр. 1, ТЦ «АШАН»- 8-800-600-777-5
- 09:00 — 21:00
-
МВидео
Москва, ул.Поречная, д. 10, ТРК «MARI»
- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, Одинцовский р-н, 55-56 км МКАД, с. Немчиновка, Хорошевский пр., д. 14, ТРЦ «Вегас Кунцево»- 8-800-600-777-5
-
МВидео
Москва, 24-й км МКАД- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, ул. Пресненская наб., д. 2, ТРЦ «Афимолл Сити», 3 этаж- 8-800-600-777-5
- вс-чт 10:00 — 22:00, пт-сб 10:00 — 23:00
-
МВидео
Москва, пл.Киевского Вокзала, д. 2, ТРЦ «Европейский»
- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, Ходынский б-р, д. 4, ТЦ «Авиапарк», 1 этаж- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, ул. Чонгарский бульвар, д. 7, ТЦ «Ангара»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, 53-й км МКАД, вл. 110, ТЦ «Ашан-Марфино»- 8-800-600-777-5
- 9:00-22:00
-
МВидео
Москва, Ленинградский пр-т, д.36, ТЦ «ВТБ Арена Плаза»
- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, ул. Каширское шоссе, д. 14, ТЦ «Гудзон», 2 этаж- 8-800-600-777-5
- 10:00 — 21:00
-
МВидео
Москва, 47-й км МКАД, стр. 20, ТЦ «Лента»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, Коммунарка, п. Сосенское, Калужское шоссе, 21 км (41 км МКАД), ТЦ «Мега Тёплый Стан»- 8-800-600-777-5
- вс-чт 10:00 — 23:00, пт-сб 10:00 — 24:00
-
МВидео
Москва, пос.Московский, Киевское ш., 23-й км, д. 1, ТЦ «Саларис»
- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, ул. Декабристов д.12, ТЦ «Форт»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, ул. Корнейчука, д. 8, ТК «Час Пик»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, ул. Люблинская, д. 153, ТЦ «Л153»- 8-800-600-777-5
- 10:00 — 22:00
-
МВидео
Москва, ул. Рождественка, д. 6/9/20 стр.1
- 8-800-600-777-5
- 09:00 — 22:00
Адреса похожих магазинов в городе Москва
-
Юлмарт
Москва, Бакунинская улица, 69к1- +7 (495) 287-42-41;8 (800) 775-10-10;
- ежедневно, 9:00–23:30
-
Юлмарт
Москва, проспект Андропова, 22/30с1- +7 (495) 287-42-41;8 (800) 775-10-10;
- ежедневно, 0:05–23:45
-
Юлмарт
Москва, Ленинградское шоссе, 25- +7 (495) 287-42-41;8 (800) 775-10-10;
- ежедневно, 0:05–23:45
-
Юлмарт
Россия, Москва, Снежная улица, 26- +7 (495) 287-42-41;8 (800) 775-10-10;
- ежедневно, 9:00–23:30
-
Юлмарт
Москва, улица Поречная, 10, 3 этаж- +7 (495) 287-42-41;8 (800) 775-10-10;
- ежедневно, круглосуточно
-
Юлмарт
Россия, Москва, Профсоюзная улица, 126к2- +7 (495) 287-42-41;8 (800) 775-10-10;
- ежедневно, 9:00–23:30
-
Юлмарт
Москва, Варшавское шоссе, 143А- +7 (495) 287-42-41;8 (800) 775-10-10;
- ежедневно, 0:05–23:45
-
Юлмарт
Россия, Москва, 7-я Кожуховская улица, 9- +7 (495) 287-42-41;8 (800) 775-10-10;
- ежедневно, 9:00–23:00
-
Юлмарт
Россия, Москва, 9-я Парковая улица, 30- 8 (800) 775-10-10;+7 (495) 287-42-41;
- ежедневно, 9:00–23:30
-
Юлмарт
Россия, Москва, Кутузовский проспект, 88- +7 (495) 287-42-41;8 (800) 775-10-10;
- ежедневно, 9:00–23:30
-
Юлмарт
Россия, Москва, 9-я Парковая улица, 62- +7 (495) 287-42-41;8 (800) 775-10-10;
- ежедневно, 9:00–23:30
-
Ulmart shop
Москва, ул.Краснодарская, 17
- +7 (909) 109-09-79;
- ежедневно, 9:00–20:00
-
Media Markt
Москва, Большая Тульская улица, 13- +7 (499) 951-48-00;+7 (499) 951-48-02;
- ежедневно, 10:00–22:00
-
Media Markt
Москва, улица Авиаконструктора Микояна, 10- +7 (499) 270-06-00;
- пн-чт 10:00–22:00; пт,сб 10:00–23:00; вс 10:00–22:00
-
Media Markt
Россия, Москва, МКАД, 104-й километр, 6- +7 (499) 951-07-15;+7 (495) 502-18-20;
- ежедневно, круглосуточно
-
Сеть магазинов электроники и бытовой техники Media Markt
Россия, Москва, улица Авиаконструктора Микояна, 10
-
Media Markt
Москва, Рублёвское шоссе, 62- +7 (499) 272-29-00;
- ежедневно, 10:00–22:00
-
Сеть магазинов электроники и бытовой техники Media Markt
Россия, Москва, Большая Тульская улица, 13
-
Сеть магазинов электроники и бытовой техники Media Markt
Россия, Москва, проспект Вернадского, 6
-
Сеть магазинов электроники и бытовой техники Media Markt
Россия, Москва, Варшавское шоссе, 97
ТРЦ «Европейский» в Новосибирске будет сдан в течение 2017 года
Домой Бизнес Недвижимость ТРЦ «Европейский» в Новосибирске будет сдан в течение 2017 года
ТРЦ «Европейский» .Крупный торгово-развлекательный центр «Европейский», строительство которого ведется на улице Танковой в Новосибирске, планируется сдать в текущем году. Об этом сообщил «КС» руководитель отдела исследований и консалтинга компании «Магазин Магазинов» Андрей Васюткин, которая является брокером объекта.
Сдача торгово-развлекательного центра «Европейский» на ул. Танковой неоднократно откладывалась: его реализация стартовала еще в 2008 году, затем, с 2010 по 2013 гг. была заморожена, в 2014 году работы возобновились.
«Сдать объект в эксплуатацию мы планируем в течение 2017 года. В нем будут представлены, в частности, принципиально новые бренды для Новосибирска», — сообщил руководитель отдела исследований и консалтинга компании «Магазин Магазинов» Андрей Васюткин в рамках форума CESA-2017. Однако детальный состав арендаторов пока не раскрывается.
Напомним, что площадь торгового центра «Европейский» составит 100 тыс. кв. метров, из них арендопригодная — 45 тыс. кв. метров, строительство ведется на участке 2,4 га. Девелопер проекта – компания Atrium Development.
Ранее сообщалось, что на место продуктового оператора в «Европейском» претендуют «Ашан» и «Лента», гипермаркета бытовой техники — «М.Видео», «Эльдорадо» и «Техносила».
ТРЦ «Апельсин» . Фото Михаила Перикова.К ожидаемым открытиям текущего года на рынке коммерческой недвижимости Новосибирска эксперты также относят бизнес-центр «СД Альфа-Капитал» класса А на ул. Кирова площадью 16,6 тыс. кв. метров и ТРЦ «Апельсин» на площади Гарина-Михайловского площадью 71,7 тыс. кв. метров. Однако последний, по словам участников рынка, на данный момент заполнен арендаторами не более, чем на 20%.
Редакция «КС» открыта для ваших новостей. Присылайте свои сообщения в любое время на почту [email protected] или через нашу группу в социальной сети «ВКонтакте».
Подписывайтесь на канал «Континент Сибирь» в Telegram, чтобы первыми узнавать о ключевых событиях в деловых и властных кругах региона.
Нашли ошибку в тексте? Выделите ее и нажмите Ctrl + Enter
Новости СМИ2
АВТОРСКИЕ КОЛОНКИ
Елена Терехина
Председатель правления Банка «Акцепт»
Чем запомнится 2022-ой год для банков
В этом году банковский рынок оперативно реагировал на внешние вызовы. Какие события оказались наиболее значимыми, и о каких трендах следующего года мы можем говорить? Рост…
Владимир Лобченко
Руководитель макрорегиона Сибирь и Дальний Восток компании Mango Office
Виталий Сапелкин
Управляющий партнер группы «Финансы»
На какие основные «серые» схемы обращает внимание налоговая?
Иногда предпринимателям кажется, что их налоговое бремя слишком велико. И вместо вдумчивого и кропотливого анализа того, как можно снизить налоговую нагрузку, предпочитают использовать давно…
python — Объединить несколько файлов *.ts (байтовый или байтовый формат) в один файл mp4
Мы, вероятно, не предполагаем записывать файлы TS в канал таким образом.
Без PIPE мы можем использовать один из вариантов concat
.
Я думаю, что самым безопасным вариантом является использование другого подпроцесса FFmpeg для декодирования TS в необработанные видеокадры и запись канала кадр за кадром.
Вы можете начать с моего следующего поста и выполнить его в цикле.
Вот пример «автономного» кода:
импорт ffmpeg импортировать numpy как np import cv2 # Используйте OpenCV для тестирования импорт io импортировать подпроцесс как sp импорт потоков частичный импорт из functools out_filename = 'видео.mp4' # Создание синтетического ввода и чтение в BytesIO ################################################# # Предположим, мы заранее знаем ширину и высоту # (Если вы не знаете разрешение, я разместил решение для его получения с помощью FFprobe).ширина = 192 рост = 108 кадров в секунду = 10 n_кадров = 100 in_filename1 = 'in1.ts' in_filename2 = 'in2.ts' # Сборка синтетического видео (in1.ts) для тестирования: ( ffmpeg .input(f'testsrc=size={width}x{height}:rate=1:duration={n_frames}', f='lavfi', r=fps) .filter('setpts', f'N/{fps}/TB') .output(in_filename1, vcodec='libx264', crf=17, pix_fmt='yuv420p', loglevel='ошибка') .global_args('-hide_banner') .overwrite_output() .бег() ) # Сборка синтетического видео (in1.ts) для тестирования: ( ffmpeg .input(f'mandelbrot=size={ширина}x{высота}:rate=1', f='lavfi', r=fps) .filter('setpts', f'N/{fps}/TB') .output(in_filename2, vcodec='libx264', crf=17, pix_fmt='yuv420p', loglevel='ошибка', t=n_frames) .global_args('-hide_banner') .overwrite_output() .бег() ) # Читаем файл в бинарные потоки в памяти с open(in_filename1, 'rb') как f: in_bytes = f.read() поток1 = io.BytesIO(in_bytes) # Читаем файл в бинарные потоки в памяти с open(in_filename2, 'rb') как f: in_bytes = f.
read() поток2 = io.BytesIO(in_bytes) # Использовать список вместо словаря (просто для примера). in_memory_viddeos = [поток1, поток2] ################################################# # Поток записи: запись в стандартный ввод порциями по 1024 байта Def Writer (decoder_process, поток): для чанка в iter(partial(stream.read, 1024), b''): decoder_process.stdin.write(чанк) decoder_process.stdin.close() def decode_in_memory_and_re_encode (vid_bytesio): """ Декодируйте видео в BytesIO и записывайте декодированный кадр в подпроцесс кодировщика """ vid_bytesio.seek(0) # Выполнение подпроцесса декодера видео декодер_процесс = ( ffmpeg .input('pipe:') #, f='mpegts', vcodec='h364') .видео .output('pipe:', format='rawvideo', pix_fmt='bgr24') .run_async (pipe_stdin = Истина, pipe_stdout = Истина) ) thread = threading.Thread (цель = писатель, аргументы = (decoder_process, vid_bytesio)) поток.старт() # Чтение декодированного видео (кадр за кадром) и отображение каждого кадра (используя cv2.
imshow для тестирования) пока верно: # Чтение необработанного видеокадра из стандартного вывода в виде массива байтов. in_bytes = decoder_process.stdout.read (ширина * высота * 3) если не in_bytes: сломать # Записываем декодированный кадр в энкодер. encoder_process.stdin.write(in_bytes) # преобразовать прочитанный байт в массив numpy (для тестирования) in_frame = np.frombuffer(in_bytes, np.uint8).reshape([высота, ширина, 3]) # Отображение кадра (для тестирования) cv2.imshow('in_frame', внутри_кадра) cv2.waitKey(10) поток.присоединиться() decoder_process.wait() # Выполнение подпроцесса видеокодера кодировщик_процесс = ( ffmpeg .input('pipe:', r=fps, f='rawvideo', s=f'{ширина}x{высота}', pixel_format='bgr24') .видео .output(out_filename, vcodec='libx264', crf=17, pix_fmt='yuv420p') .overwrite_output() .run_async(pipe_stdin=Истина) ) # Перекодировать видео "в памяти" в цикле для мемвида в in_memory_viddeos: decode_in_memory_and_re_encode (мемвид) encoder_process.
stdin.close() encoder_process.wait() cv2.destroyAllWindows()
Извините за игнорирование структуры вашего словаря.
Я предполагаю, что проблема связана с кодированием видео, а не с тем, как вы перебираете объекты BytesIO.
Чтение ширины
и высоты
из видеопотока в памяти:
Вариантов немного.
Решил прочитать ширину
и высоту
из шапки BMP изображения.
Запустить подпроцесс FFmpeg со следующими аргументами ( формат image2pipe
и видеокодек bmp
):
decoder_process = ffmpeg.input('pipe:'), f='mpegts', vcodec='h364').video.output('pipe:',f = 'image2pipe', vcodec = 'bmp').run_async (pipe_stdin = True, pipe_stdout = True)
Получить с высотой
и
путем разбора заголовка:
in_bytes = decoder_process.stdout.read(54) # 54 байта Заголовок BMP + 4 байта (ширина, высота) = struct.unpack("
Полный пример кода:
импорт ffmpeg импортировать numpy как np import cv2 # Используйте OpenCV для тестирования импорт io импортировать подпроцесс как sp импорт потоков частичный импорт из functools импортировать структуру out_filename = 'видео.mp4' # Создание синтетического ввода и чтение в BytesIO ################################################# # Предположим, мы заранее знаем ширину и высоту ширина = 192 рост = 108 кадров в секунду = 10 n_кадров = 100 in_filename1 = 'in1.ts' in_filename2 = 'in2.ts' ## Создайте синтетическое видео (in1.ts) для тестирования: #( # ffmpeg # .input(f'testsrc=size={width}x{height}:rate=1:duration={n_frames}', f='lavfi', r=fps) # .filter('setpts', f'N/{fps}/TB') # .output(in_filename1, vcodec='libx264', crf=17, pix_fmt='yuv420p', loglevel='error') # .global_args('-hide_banner') # .overwrite_output() # .бег() #) ## Создайте синтетическое видео (in1.ts) для тестирования: #( # ffmpeg # .input(f'mandelbrot=size={width}x{height}:rate=1', f='lavfi', r=fps) # .filter('setpts', f'N/{fps}/TB') # .output(in_filename2, vcodec='libx264', crf=17, pix_fmt='yuv420p', loglevel='error', t=n_frames) # .global_args('-hide_banner') # .overwrite_output() # .бег() #) # Читаем файл в бинарные потоки в памяти с open(in_filename1, 'rb') как f: in_bytes = f.
read() поток1 = io.BytesIO(in_bytes) # Читаем файл в бинарные потоки в памяти с open(in_filename2, 'rb') как f: in_bytes = f.read() поток2 = io.BytesIO(in_bytes) # Использовать список вместо словаря (просто для примера). in_memory_viddeos = [поток1, поток2] ################################################# # Поток записи: запись в стандартный ввод порциями по 1024 байта Def Writer (decoder_process, поток): для чанка в iter(partial(stream.read, 1024), b''): пытаться: decoder_process.stdin.write(чанк) кроме (BrokenPipeError, OSError): # get_in_memory_video_frame_size вызывает исключение BrokenPipeError и исключение OSError. # Это не чистое решение, но самое простое, что я смог найти. возвращаться decoder_process.stdin.close() защита get_in_memory_video_frame_size (vid_bytesio): """ Получить разрешение видео в BytesIO """ vid_bytesio.seek(0) # Выполнение подпроцесса декодера видео, формат вывода - BMP декодер_процесс = ( ffmpeg .
input('pipe:') #, f='mpegts', vcodec='h364') .видео .output('pipe:', f='image2pipe', vcodec='bmp') .run_async (pipe_stdin = Истина, pipe_stdout = Истина) ) thread = threading.Thread (цель = писатель, аргументы = (decoder_process, vid_bytesio)) поток.старт() # Чтение необработанного видеокадра из стандартного вывода в виде массива байтов. # https://en.wikipedia.org/wiki/BMP_file_format in_bytes = decoder_process.stdout.read(54) # 54 байта заголовка BMP + 4 байта decoder_process.stdout.close() поток.присоединиться() decoder_process.wait() vid_bytesio.seek(0) # Ширина и высота расположены в байтах с 18 по 25 (по 4 байта) (ширина, высота) = struct.unpack("
input('pipe:') #, f='mpegts', vcodec='h364') .видео .output('pipe:', format='rawvideo', pix_fmt='bgr24') .run_async (pipe_stdin = Истина, pipe_stdout = Истина) ) thread = threading.Thread (цель = писатель, аргументы = (decoder_process, vid_bytesio)) поток.старт() # Чтение декодированного видео (кадр за кадром) и отображение каждого кадра (используя cv2.imshow для тестирования) пока верно: # Чтение необработанного видеокадра из стандартного вывода в виде массива байтов. in_bytes = decoder_process.stdout.read (ширина * высота * 3) если не in_bytes: сломать # Записываем декодированный кадр в энкодер. encoder_process.stdin.write(in_bytes) # преобразовать прочитанный байт в массив numpy (для тестирования) in_frame = np.frombuffer(in_bytes, np.uint8).reshape([высота, ширина, 3]) # Отображение кадра (для тестирования) cv2.imshow('in_frame', внутри_кадра) cv2.waitKey(10) поток. присоединиться() decoder_process.wait() ширина, высота = get_in_memory_video_frame_size(in_memory_viddeos[0]) # Выполнение подпроцесса видеокодера кодировщик_процесс = ( ffmpeg .input('pipe:', r=fps, f='rawvideo', s=f'{ширина}x{высота}', pixel_format='bgr24') .видео .output(out_filename, vcodec='libx264', crf=17, pix_fmt='yuv420p') .overwrite_output() .run_async(pipe_stdin=Истина) ) # Перекодировать видео "в памяти" в цикле для мемвида в in_memory_viddeos: decode_in_memory_and_re_encode (мемвид) encoder_process.stdin.close() encoder_process.wait() cv2.destroyAllWindows()
ffmpeg - Как перейти от субтитров .srt и видео .ts к видео .ts с dvb_subtitles?
Я пытаюсь получить из файла субтитров .srt + видеофайл .ts => видеофайл .ts с dvb_subtitle.
Мой .srt:
1 00:00:00,000 --> 00:00:05,000 Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi vel hendrerit massa. 2 00:00:05,000 --> 00:00:10,000 Aliquam dolor sapien, molestie ac sagittis eu, tempus nec est.3 00:00:10 000 --> 00:00:28 000 Morbi id sem eu sapien consectetur imperdiet. Morbi sed purus et sapien interdum placerat vitae quis orci.
Мой .ts: sample_1920x1080.ts из https://filesamples.com/formats/ts
Команда SubtitleEdit:
.\SubtitleEdit.exe /convert 'test_subtitles.srt' Blu-raysup /resolution:1920x1080 /overwrite
. Это создает файл test_subtitles.sup, как и ожидалось.Затем я использую
ffmpeg
для включения субтитров .sup, например: :s -vcodec copy -acodec copy -scodec dvbsub -copyts -muxdelay 0 -max_delay 0 'output.ts' . Это работает, но результаты иногда не очень читабельны. Вот скриншот:
У меня есть другие варианты? Или параметры в subtitleedit/ffmpeg для f.ex. сделать субтитры крупнее?
(Я также разместил это в репозитории SubtitleEdit Github: https://github.com/SubtitleEdit/subtitleedit/issues/4539.)
ОБНОВЛЕНИЕ:
Я узнал от автора SubtitleEdit, что это действительно возможно увеличить размер шрифта при использовании графического пользовательского интерфейса SubtitleEdit (см.
здесь. Однако я хочу сделать это с помощью инструмента командной строки.
- ffmpeg
6
К сожалению, это нужно было сделать с помощью ffmpeg следующим образом:
ffmpeg -i ./sample_1280x720.ts -i ./sample.srt -map 0 -map 1 -c copy -c:s dvd_subtitle ./out.ts, но ffmpeg не примет его с этой ошибкой:
Кодирование субтитров в настоящее время возможно только из текста в текст или растровое изображение в растровое изображение
.srt
формат является текстовым и 9Формат 0004 .sup основан на изображении., пока ffmpeg отказывается кодировать субтитры в видео.
мы можем использовать
-vf
(видеофильтр), Жесткое кодирование (srt) субтитров в видео:ffmpeg -i ./sample_1280x720.ts -vf subtitles=sample.srt:force_style='Fontsize=24' . /out.tsМы можем определить размер шрифта с помощью опции
Fontsize
.![]()
, но если у вас есть
sup
и вы хотите записать видео, вы можете использовать это:ffmpeg -i ./sample_1280x720.ts -i ./sample.sup -filter_complex "[0:v][1:s]overlay" ./out.ts3
РЕДАКТИРОВАТЬ 19.12.2020:
Идея из моего последнего комментария - скрипт Python, который заменяет размер шрифта в Settings.xml SubtitleEdit, для вызова перед вашими скриптами:
https://github.com/Twenkid/ Python-Various/blob/main/Exercise/SubtitleEdit/sub.py
python sub.py C:\SE3518\Settings.xml 44и т.д.
...
Пробовали масштабировать dvb трек? Этот поток предполагает, что это возможно: Масштабирование субтитров ffmpeg и dvb
Эта часть от Maknol (хотя я не пробовал):
-filter_complex "[0:s:0] scale=-1:2400 [sub],[0:v][sub] overlay=x=150:y=-80"
где:
Масштаб- размер субтитров
наложение x= - вертикальное
наложение y= - горизонтальное
РЕДАКТИРОВАТЬ: мне удалось масштабировать субтитры .
sup с помощью ffmpeg, но пока это работало в два прохода, см. ниже.
Моя последовательность была:
- Ваша команда, создающая поток с субтитрами:
ffmpeg -i sample_1920x1080.ts -fix_sub_duration -i test_subtitles.sup -map 0:v -map 1:s -vcodec copy -acodec copy -scodec dvbsub -copyts -muxdelay 0 -max_delay 0 outputA.ts
- Масштабирование субтитры и настроить их положение (однако требуется перекодирование из-за filter_complex)
ffmpeg -i outputA.ts -metadata title="Scale" -filter_complex "[0:s:0] scale=-1:1400 [sub],[0:v][sub] overlay=x=-250: y=-300" -c:v libx264 -b:v 5M -предустановлено быстро -формат 16:9-c:a copy output_Scaled.ts
Исходный размер:
Мои исходные субтитры были крупнее (размер шрифта 25) и коэффициент масштабирования здесь мал = 1400/1080
Масштаб:
...
Если я пытался сделать это за один проход, мой синтаксис отображал размер по умолчанию + накладывал масштабированные (и отображал только один элемент, а не все).
![]()