Как изменить разрешение файла WMV в C # - PullRequest
2 голосов
/ 16 марта 2011

У меня есть приложение на C #, и я хотел бы иметь возможность прочитать файл WMV и затем записать файл WMV с уменьшенным разрешением / качеством.

Существуют ли какие-либо встроенные библиотеки для C #, которые могут это сделать? Нужен ли Windows Media Format SDK? У кого-нибудь есть опыт с этим?

Могу ли я использовать для этого что-то вроде FFmpeg?

Ответы [ 2 ]

2 голосов
/ 16 марта 2011

Вам нужно будет декодировать и перекодировать (= перекодировать) файл, чтобы сделать это.Тем самым вы будете снижать качество, поскольку работаете с уже сжатой базой.

Один из способов сделать это, если вам нужен высокий уровень контроля, - это обертка DirectShow для C #, т.е. DirectShow.NET .тогда вам просто нужно определить простой граф транскодирования.

На самом деле самый простой способ сделать это - Expression Encoder (преемник Windows Media Encoder), который имеет простой управляемый API и долженвыполнять работу с гораздо меньшими усилиями, чем интеграция DirectShow.

Сводная статья здесь .Простое задание на перекодирование выглядит следующим образом (пример из статьи, изменены только предустановки):

      MediaItem src = new MediaItem
          (@"C:\WMdownloads\AdrenalineRush.wmv");
      Job job = new Job();
      job.MediaItems.Add(src);
      job.ApplyPreset(Presets.VC1WindowsMobile);
      job.OutputDirectory = @"C:\EncodedFiles";
      job.Encode();
1 голос
/ 16 марта 2011

Не думаю, что в .Net Framework есть классы, которые занимаются перекодировкой файлов WMV.

Но вы можете установить Windows Media 9 Encoder SDK и создать соответствующие объектыв C #, чтобы сделать преобразование.См. CodeProject.com - Конвертировать MP3, MPEG, AVI в форматы Windows Media для начальной точки.Даже если эта ссылка начинается с файлов, отличных от WMV, кодировщик Windows Media не ограничивает формат входного файла (по крайней мере, когда я использовал пакетный файл кодировки VBScript).

NB Если вы используете кодировщик WM9Encoderв Vista или Win7 может потребоваться исправление - см. TechNet - проблемы с использованием Windows Media Encoder 9 Series в Windows 7

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...