Впихиваем данные в видео, быстрее чем раньше (или творчество программиста)

Впихиваем данные в видео, быстрее чем раньше (или творчество программиста) Программирование, Csharp, Кодирование, Программа, Хобби, Videofy

Продолжаю делать отчеты о проделанной работе над моей программой для хранения данных внутри видео, с возможностью использовать сайты типа Youtube.


Решил посмотреть какое место в моей программе самое тормозное. Запустил профайлер и долго пытался понять почему указанное место вообще может тормозить.

Подробности, если хотите, будут в комментариях, если кратко - класс BlockingCollection (решение для передачи данных между потоками) кушает немного ЦПУ если нужно подождать действие другого потока, а в моей реализации данная ситуация возникала очень часто.

После внесенных изменений программа заработала в среднем в 2 раза быстрее (по субъективным тестам).


Также кодирование через DCT заменено с вещественного (дробные числа) на целочисленную реализацию из семейства кодеков AVC/H264. Данное изменение позволило уменьшить количество ошибок, что в свою очередь позволяет увеличить плотность кодирования (для случая Youtube - с 5 до 7 бит на блок), что также дает прирост скорости работы.


Обновление программы пока не делал - хочу сначала попробовать добавить стеганографию через DCT+LSB (еще бы сначала разобраться как лучше это сделать).


Репозиторий где можно скачать программу и посмотреть исходники https://bitbucket.org/Filarius/videofy


Предыдущие отчеты можно посмотреть в моей профиле http://pikabu.ru/profile/wingblack


Приветствую ваши пожелания по улучшению программы.

Автор поста оценил этот комментарий

Привет, ты программу еще не забросил? Она у меня по какой-то причине не работает. Точнее, работает только под отладчиком и если повезет. Застывает на каком-нибудь проценте, использование процессора 0. Ffmpeg запущен, но ему ничего не передается. Судя по всему, застревание где-то в Pipe.cs.

Проц Intel Core 2 Duo E8200, винда 7 x64.

раскрыть ветку
Автор поста оценил этот комментарий

Привет. Очень нужная программа получилась, правда подружился только с версией 0.1.0.1. В чёрно-белом режиме минимально "ожиряет" исходный файл, хоть и проигрывает в длине. Вопрос вот в чём: можно попросить добавить кодирование видео в 60 фпс для этой версии (0.1.0.1)? Если конечно это не сильно сложно и есть время. :)

раскрыть ветку
Автор поста оценил этот комментарий
Я так понимаю это стеганография?
раскрыть ветку
Автор поста оценил этот комментарий
Бляааа, как бы я хотел в этом разбираться😞
раскрыть ветку