3 место Король Социалок 15: Методы генерации вирального контента

sambukanuka

Client
Регистрация
17.09.2019
Сообщения
287
Благодарностей
97
Баллы
28
Добрый, интересно знать, возможно ли сделать связку FFMpeg-android-подмена камеры на видео?
 

CJeyZ

Client
Регистрация
12.04.2019
Сообщения
30
Благодарностей
2
Баллы
8
Как сделать трансляцию не одного файла output.mp4, а несколько по списку?
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 983
Благодарностей
4 433
Баллы
113

vasyaya

Client
Регистрация
09.02.2015
Сообщения
555
Благодарностей
35
Баллы
28
Подскажи пожалуйста как подставить переменную в код, в переменной путь к изображению.
Попробовал так, не получается. Заранее благодарю!
Bitmap sourceBitmap = (Bitmap)Image.FromFile(project.Variables["img_directory"].Value);
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 983
Благодарностей
4 433
Баллы
113
Подскажи пожалуйста как подставить переменную в код, в переменной путь к изображению.
Попробовал так, не получается. Заранее благодарю!
Bitmap sourceBitmap = (Bitmap)Image.FromFile(project.Variables["img_directory"].Value);
А зачем тебе битмапа? Работай с Image.
и какая ошибка?
 

vasyaya

Client
Регистрация
09.02.2015
Сообщения
555
Благодарностей
35
Баллы
28
А зачем тебе битмапа? Работай с Image.
и какая ошибка?
Вот такую ошибку выдаёт.

Выполнение действия CSharp OwnCode: 10. Придаём контрастность картинке. В GDI+ возникла ошибка общего вида.
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 983
Благодарностей
4 433
Баллы
113

vasyaya

Client
Регистрация
09.02.2015
Сообщения
555
Благодарностей
35
Баллы
28
Да,
Папка куда сохраняется картинка существует?
Да, конечно.
Создаётся папка, скачивается картинка в созданную ранее папку, путь скачанной картинки пишется в переменную, которую я хочу вставить в ваш код.
 

vasyaya

Client
Регистрация
09.02.2015
Сообщения
555
Благодарностей
35
Баллы
28
Я указываю тот же путь сохранения картинки
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 983
Благодарностей
4 433
Баллы
113

vasyaya

Client
Регистрация
09.02.2015
Сообщения
555
Благодарностей
35
Баллы
28

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 983
Благодарностей
4 433
Баллы
113
Вот же вопросы))
Сохранять под любым именем, удалять прежний файл, переименовывать первый.
Или сохранять в другой папке и переносить с заменой.
 
  • Спасибо
Реакции: vasyaya

Urix13

Новичок
Регистрация
01.10.2020
Сообщения
6
Благодарностей
0
Баллы
1
Реально нужно так мутить с картинками, обычной отзеркалки не достаточно ?
 

wersav

Client
Регистрация
17.02.2014
Сообщения
100
Благодарностей
9
Баллы
18
Не могу понять что ему надо, в чём ошибка?
 

Вложения

Kuralex

Client
Регистрация
22.09.2020
Сообщения
22
Благодарностей
1
Баллы
3
Здравствуйте. Спасибо за набор блоков.

Сейчас блок склейки картинов в коллаж берет нижнюю картинку ту, которая является самой широкой. Как сделать так, чтобы после отработки цикла, самая широкая картинка удалялась и коллажи создавались уже из других картинок, либо рандомно делать любую картинку шире / увеличивать пропорцианально в размере и дальше создавать коллажи?

Например: есть 3 картинки и сейчас получаются следующие коллажи (порядок расположения картинок) : первый: 1,2,3 второй: 1,3,2 третий: 1,2,3

В итоге получается 2 одинаковых коллажа и везде внизу одна и та же картинка. Хотелось бы сделать из 3 картинок 3 разных коллажа. Подаскажите пожалуйста, как? :-)
 
Последнее редактирование:

wersav

Client
Регистрация
17.02.2014
Сообщения
100
Благодарностей
9
Баллы
18
Вот же вопросы))
Сохранять под любым именем, удалять прежний файл, переименовывать первый.
Или сохранять в другой папке и переносить с заменой.
Приветствую, а на данный момент трансляция на фб работает? А то я уже и разрешение в видео менял, чего то не работает.
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 983
Благодарностей
4 433
Баллы
113
Приветствую, а на данный момент трансляция на фб работает? А то я уже и разрешение в видео менял, чего то не работает.
Да, работала. Руками не получается?
 

wersav

Client
Регистрация
17.02.2014
Сообщения
100
Благодарностей
9
Баллы
18

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 983
Благодарностей
4 433
Баллы
113

wersav

Client
Регистрация
17.02.2014
Сообщения
100
Благодарностей
9
Баллы
18
Имел ввиду не Зенкой, а через обычный браузер.
Я изначально начал пробовать запускать через командную строку, вставляя свой ключ трансляции. Даже не знаю, может версия ffmpeg не та?
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 983
Благодарностей
4 433
Баллы
113
В итоге получается 2 одинаковых коллажа и везде внизу одна и та же картинка. Хотелось бы сделать из 3 картинок 3 разных коллажа. Подаскажите пожалуйста, как? :-)
По аналогии берите ваши картинки в список и меняете как угодно - случайную, например.
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 983
Благодарностей
4 433
Баллы
113

wersav

Client
Регистрация
17.02.2014
Сообщения
100
Благодарностей
9
Баллы
18
Попробовал через OBS запустить, трансляция запустилась с настройками рекомендуемыми для facebook: с максимальным разрешением 1280 на 720, fps-30, к аудио - 44100 Hz битрейт видео - 4000 Kbps. Даже не знаю в чём причина.
 

Kuralex

Client
Регистрация
22.09.2020
Сообщения
22
Благодарностей
1
Баллы
3
По аналогии берите ваши картинки в список и меняете как угодно - случайную, например.
Логику я понимаю, но как это практически реализовать?

Сейчас я сделал следующим образом:
block.JPG


Тяну в список все файлы из дирриктории, далее увеличиваю на 100% случайную картинку, эта картинка выступает основной (самой крупной) в коллаже. Тем самым я решил проблему повторений основной (нижней) картинки. Но как решить проблему дублей 2х верхних? Сейчас основная картинка может и сверху дублироваться....

Вот так выглядит у меня ваш C# код:

//три любых картинки склеиваем в коллаж в зависимости от их размеров без нарушения пропорций
//сначала определяем самую широкую картинку - она будет нижней, третьей
//потом скейлим вторую картинку под высоту первой
//затем скейлим третью картинку под ширину первой+второй
List <string> images = Directory.GetFiles(project.Directory + "/my_path").ToList();
int max = 0;
int index = -1;
for (int i = 0; i < images.Count; i++) {
Image img = Image.FromFile(images);
if (img.Width > max) {
max= img.Width;
index = i;
}
}

Image img3 = Image.FromFile(project.Variables["big_img"].Value);
images.RemoveAt(index);

Random rnd = new Random();
index = rnd.Next(0, images.Count);
Image img1 = Image.FromFile(images[index]);
images.RemoveAt(index);
Image img2 = Image.FromFile(images[0]);

//вычисляем все размеры
float scale2 = (float)img2.Height / img2.Width; //пропорции второй картинки
int newheight2 = img1.Height; //новая высота второй картинки
int newidth2 = (int)(newheight2 / scale2); //новая ширина второй картинки
int newidth3 = (int)(newidth2 + img1.Width); //новая ширина третьей картинки
float scale3 = (float) img3.Height / img3.Width; //пропорции третьей картинки
int newheight3 = (int)(newidth3 * scale3); //новая высота третьей картинки
int newheight = (int)(img1.Height + newheight3); //высота всего коллажа

//создаём битмапу найденных размеров
Bitmap bmp = new Bitmap(newidth3, newheight);
Graphics g = Graphics.FromImage(bmp);
//вклеиваем картинки по одной
g.DrawImage(img1, 0, 0, img1.Width, img1.Height);
g.DrawImage(img2, img1.Width, 0, newidth2, newheight2);
g.DrawImage(img3, 0, img1.Height, newidth3, newheight3);

bmp.Save(project.Directory + @"\Collage\" + project.Variables["collage_fertig"].Value + " - img_name.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
g.Dispose();
bmp.Dispose();
img1.Dispose();
img2.Dispose();
img3.Dispose();
 

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 983
Благодарностей
4 433
Баллы
113
Просто перемешайте список путей к оставшимся картинкам и берите по индексу 0, 1, 2, ..., 10.
 
  • Спасибо
Реакции: Kuralex

Kuralex

Client
Регистрация
22.09.2020
Сообщения
22
Благодарностей
1
Баллы
3

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 983
Благодарностей
4 433
Баллы
113
Что-то типа:
C#:
Random rnd = new Random();

index = rnd.Next(0, images.Count);
Image img1 = Image.FromFile(images[index]);
images.RemoveAt(index);
Image img2 = Image.FromFile(images[0]);
//add
images.RemoveAt(0);
Image img3 = Image.FromFile(images[0]);
 
  • Спасибо
Реакции: Kuralex

prodox

Client
Регистрация
28.08.2018
Сообщения
280
Благодарностей
55
Баллы
28
Не подскажете, не работает кубик изменение контрастности?
Дело в том что в using не прописано что=то или ссылках GAC?
Пробовал добавить. Там еще Marshall есть пространство имен. Может из-за него.
К сожалению зенка не показывает в какой именно строке ошибка
 

Вложения

Astraport

Client
Регистрация
01.05.2015
Сообщения
4 983
Благодарностей
4 433
Баллы
113

prodox

Client
Регистрация
28.08.2018
Сообщения
280
Благодарностей
55
Баллы
28
Ничего этого не требуется. Вы шаблон запускали?
запускал. Все кубики вроде отрабатывают. Интерсно было коллажирование. Изменение гаммы не работает.
Коллажи переписал чтобы 4 фото было как во вложении.
не могу разобраться с using и ссылками? когда надо вставлять когда нет. Например всякие маршал методы и другие что-то ошибки выдают. , точнее не ясно что за ошибки так как C шарп не поезыввает ни строку ни что вывело на ошибку. Столкнулся что работает через раз. Кажется русские буквы не поддерживает в названии файла. вроде коллажи заработали. 4 фото лучше чем 3 вышло. Хочу закругление фото попробовать. Коллажи даже яндекс не находит плагиат а с 3 фото находит самое крупное фото.
закруглить хочу картинки как на втором фото.
Тройной коллаж яндекс находит картинку самую большую. с 4 картинками вроде не находит
 

Вложения

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)