2017-02-09 3 views
1

Я пытаюсь настроить простое приложение C#, где я хочу записать несколько веб-камер USB и сохранить их каналы в некоторых файлах. Я использую AForge.NET, поскольку это, по-видимому, самый популярный вариант для такого приложения. Я могу записывать видео с использованием AVEAWriter AForge.Video.VFW, но по ряду причин мне нужно использовать AForge.Video.FFMPEG VideoFileWriter. Однако всякий раз, когда я пытаюсь использовать этот класс, я получаю исключение System.Windows.Markup.XamlParseException без дополнительной информации или внутренних исключений, кроме небольшой дополнительной информации, которая совершенно бесполезна.AForge.Video.FFMPEG XamlParseException

У меня есть простой пример кода, чтобы вызвать исключение:

using AForge.Video.FFMPEG; 

namespace CameraPrototype { 
    public partial class MainWindow { 
     public MainWindow() { 
      InitializeComponent(); 

      VideoFileWriter videoFileWriter = new VideoFileWriter(); 
     } 
    } 
} 

Я также гугл немного вокруг и пытался некоторые предложения упоминались в другом месте:

  • Проверка всех в блоках в «Исключениях», что позволяет перерывы во всех типах исключений. Я надеялся, что это даст мне дополнительную информацию, когда было исключено исключение, к сожалению, это ничего не меняет.
  • Копирование библиотек FFMPEG (swscale-2.dll, postproc-52.dll и т. Д.) В ту же папку, что и исполняемый файл приложения (../bin/Debug/). Я уверен, что исключение имеет какое-то отношение к ffmpeg, но это конкретное решение не работает. Возможно, я делаю что-то не так, или мне не хватает чего-то для работы ffmpeg?

Если у кого-нибудь есть представление о том, что я могу делать неправильно или как я могу получить дополнительную информацию об исключении, я бы очень признателен за любую помощь. Дайте мне знать, если мне нужно опубликовать какую-либо другую информацию. Благодаря!

Edit: Хотя это не реально ответить на этот вопрос, я также открыт для предложений по альтернативам AForge.NET, до тех пор, как он позволяет мне записывать и сохранять видео с нескольких веб-камер USB.

ответ

0

Вы можете дать Accord.NET попробовать, у него есть ffmpeg в комплекте с Accord.Video.FFMPEG, без дополнительной настройки. Он предоставляет те же функции и функции, что и AForge.NET, плюс немного больше, но если вам не нужна расширенная функциональность для машинного обучения, на самом деле нет разницы.

+1

Спасибо, это сработало. Интересно, что я сделал по-другому, я пытался копировать .dll на выход, и выходная папка одинакова для моего проекта AForge.NET и моего проекта Accord.NET. Я знаю, что это не совсем ответ на мой вопрос, но поскольку он решил мои проблемы, я все равно соглашусь. – tobloef

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