2009-06-17 3 views
3

То, что я пытаюсь сделать, это взять видеофайл «ввода» (я могу сделать его любым типом файла, который сделает это самым простым), а затем, через мой код, добавить текст к видеофайлу.Добавление текста в видео и сохранение вывода

Так, например, это займет «Sample1.mpg» и вывести «Sample2.mpg». Это не будет показать видео (я нашел несколько руководств, которые говорят о наложении текста при воспроизведении видео, но фактически не изменяют видеофайл.

В принципе, я хотел бы иметь возможность сказать, «С секунд от 1 до 200 нарисуйте« Hi Mom »в позиции 0,0 с этим шрифтом» и сохраните их в выведенном видео. Всякий раз, когда вы запускаете выводимое видео, с любым игроком вы увидите текст; потому что это будет часть видео-файла.

Я слышал претензии, как, «DirectShow!», но я действительно приветствую ничего немного более конкретное.

ответ

1

Вы можете использовать очень мощный язык сценариев под названием AviSynth

ссылка: http://avisynth.org/

Он работает с ANY файл, который вы можете играть, он использует DirectShow.

Просто установите его, это в основном установка кодека VFW, но очень проста. Откройте Блокнот и введите

DirectShowSource("C:\dir\filename.extension") 
Subtitle("Put Your text here") 

Сохранить это как "любое имя. AVS"

И ВОТ ЭТО. Теперь откройте его любым avi-совместимым приложением (вы даже можете назвать его avi, если хотите!), И повторно закодируйте видео или выполните обработку. очень простой и автоматический. он работает и для фотографий.

Для полного ведения Subtitle() возможности идут сюда: http://avisynth.org/mediawiki/Subtitle

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

Внешняя Пугин ссылка: http://avisynth.org/mediawiki/External_plugins

Легко загружаемые модули: http://avisynth.org/warpenterprises/

Это так просто, как он получает.2 строки кода, и у вас есть открываемые, доступные для поиска, обрабатываемые, конвертируемые полностью совместимые и менее 1 КБ AVI (субтитры добавляются «на лету», когда вы открываете AVS в своем приложении)

0

Отъезд Adobe Premier API. Я не уверен, что я f есть библиотеки .NET, или если вам нужно идти в обход.

1

Я бы предлагаю прочитать больше в этом:

Options for predictable frame capture in .NET application

а затем с помощью

Graphics g = Graphics.FromImage(bitmap); 

Чтобы получить кадр в .NET, а затем посмотрим на это с помощью:

GraphicsPath path = new GraphicsPath(); 
path.AddString("Yadda", font.FontFamily, (int)font.Style, font.Size, rect, format); 

Затем используйте

g.FillPath(..path..) 

добавить рисунок в рамку.

Как вставить его обратно в MPG ??? Наверное, вы вернулись к использованию кода/проекта, на который ссылается ссылка вверху.

Мне кажется, что это случай извлечения рамки BMP, используйте рисунок .NET, чтобы добавить к нему материал, а затем снова вставьте. Посмотрите, как CAPTCHA сделаны в .NET, вероятно, полезно.

Удачи!

Смежные вопросы