Member 12452982 Ответов: 1

Я хочу изменить соотношение видео с помощью libvlc на C++


У меня две проблемы. Я должен изменить разрешение видео и обрезать какую-то часть видео.

В деталях я хочу изменить соотношение видео к 640 x 480 с 720 x 480.
Теперь я использовал libvlc в C++. Я показал видео 720 x 480 на панели размером 640 x 480,
но на верхней и нижней сторонах были видны черные полосы.
Я должен показать размер 640 х 480, так что это большая проблема для меня.


Также вьедо изначально включает в себя черную полосу с правой стороны.
Я удалю черную полосу, используя перекрывающееся другое видео или коробку.
Но я надеюсь снять видео.


Как решить эту проблему...?
Не могли бы вы дать мне комментарий или ссылку на сайт.. и т. д. плз.


Спасибо, что прочитали мой вопрос.

Что я уже пробовал:

Я ищу... но я не могу решить...

1 Ответов

Рейтинг:
1

KarstenK

В зависимости от ваших исходных данных (о которых вы еще не упоминали) вы можете выводить только те строки, которые вам нужны.

inc cut = (720 - 640) / 2;
for(int y = cut; y < 640; y++ ) {
  for(int x = 0; x 480; x++ ) { 
   draxPixel(x,y);
  }
}

Но это может быть очень медленно. Лучше использовать эту логику с некоторыми из ваших внутренних библиотек, таких как openGL.
Один РУБИТЬ может быть, сделать выходной контроль больше и разместить некоторые фиктивные элементы управления над нежелательными частями. ;-)

Совет: если вы не хотите отображать пиксели, не копируйте эти данные. Сделайте этот разрез во время или после декодирования.