Как вырезать / обрезать / обрезать видео по времени или в процентах и ​​сохранить результат в другом файле - PullRequest
12 голосов
/ 18 февраля 2011

Есть ли какое-нибудь учебное пособие или библиотека c #, которая поможет мне выполнить следующее

  1. Выберите файл для редактирования
  2. Попросить пользователя выбрать метод обрезки / обрезки / обрезки: - по времени или в процентах
  3. вырезать / обрезать / обрезать видео по времени или в процентах по выбору (скажем, я хочу уменьшить 5-минутное видео до 4-минутного или уменьшить его на 80%)
  4. Сохраните видео по запросу в необходимом пути

теперь шаги 1) и 4) я реализовал, но не смог найти хорошую библиотеку c # для выполнения 3) и 4)

Я посмотрел библиотеку ffmpeg, но не смог найти хорошую оболочку C # для выполнения требований.

1 Ответ

8 голосов
/ 19 февраля 2011

ffmpeg - очень мощное приложение, и я использовал его много раз, даже из C #. Вам не нужна библиотека оболочки C #. Все, что вам нужно сделать, это выполнить команды ffmpeg из C #, используя:

System.Diagnostics.Process.Start(string fileName, string arguments);

Или используйте System.Diagnostics.ProcessStartInfo для перенаправления стандартного вывода, если вам нужно.

В этой статье объясняется, как использовать System.Diagnostics для выполнения синхронных и асинхронных команд и т. Д.
http://www.codeproject.com/KB/cs/Execute_Command_in_CSharp.aspx

Вот простой пример того, как сократить видеофайл до его первых 4 минут, используя ffmpeg из C #.

using System.Diagnostics
Process.Start("ffmpeg.exe",
              "-sameq -t 240 -i InputVideoFile.avi OutputVideoFile.avi");

Вот ТАК пример использования System.Diagnostics.ProcessStartInfo
C # и FFmpeg желательно без команд оболочки?

Существует множество онлайн-ресурсов, которые объясняют все функции ffmpeg и как их использовать, просто ищите.

...