AutoRecorder v1.5 (обновление)

Правильно говорят, что утро начинается не с кофе. Одно прекрасное утро у меня началось с отказа одного из наших серверов. Бедолага отвечал за запись передач и воспроизведения всякого разного на декорации студии. И вот одним пасмурным утром этот кусок железки устал. Делать нечего, отправили уставшего на покой в ремонт, декорации переключили на аппаратные плеера, а вот с записями то что делать? А записи, теоретически, можно вести на наш AutoRecorder. Проблема оказалась в том, что качество и формат записей для нашего сайта естественно отличаются от стандартов, применяемых в монтаже и эфире. Значит пришло время очередного обновления!

Глава 1. Баги

Для начала нужно было исправить некоторые баги, выявленные в прошлых версиях. Мелкие описывать смысла нет, а вот на одной внимание остановлю.

Остановка процесса ffmpeg производилась не корректно. В силу не правильного радиуса кривизны собственных рук, я не нашел другого способа, кроме как тупо убивать процесс методом Process.Kill(). Из-за этого видео файлы записи завершались не корректно или попросту «бились». Нас конечно спасал немного флаг –movflags frag_keyframe в строке запуска процесса, который формировал фрагментированный файл, но это были «костыли». Так что первым делом исправил этот недочет:

Теперь наша оболочка посылает подчиненному процессу ffmpeg консольную команду «q», и процесс завершается сам и корректно.

Глава 2. Свистелки и сопелки

Далее, что бы у нас появилась возможность писать в разные форматы, качества и т.д. я добавил список строк запуска:

интерфейс ПОТеперь в настройках есть вкладка «форматы», в которой мы создаем своего рода пресеты. Т.е. для каждого формата нужно указать расширение формируемого файла, непосредственно строку параметров для ffmpeg и отображаемое название формата. После этого весь список форматов будет отображаться при нажатии на кнопку «СТАРТ»:

интерфейс программыВыбираем нужный нам формат и оболочка запускает запись с нужными нам параметрами. Для этого немного переработал функцию recRestart_Click

Кстати, название формата пришлось ограничить 12 символами, чтобы в кнопке корректно отображать название в момент записи.

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

интерфейс настройки программы

Так что пришлось добавить настройку «Формат по умолчанию».

Заключение

Хотелось бы в комментариях увидеть мнения, что ещё можно добавить в данное ПО в качестве функционала. В архиве проекта оставлю текущую версию программы с парой настроенных форматов в настройках. Главное нужно понимать, как и для чего мы формируем параметры запуска ffmpeg. От этого понимания будет зависеть и работоспособность данной оболочки. Иными словами – пользуйтесь своими мозгами правильно.

ФАЙЛЫ ПРОЕКТА

Добавить комментарий

Ваш адрес электронной почты не будет опубликован.Обязательные поля помечены *

* Все комментарии проходят предмодерацию.