Какие варианты доступны для _losslessly_ обрезки MP4 / M4V видео на 10,8 или выше?

16

У меня есть некоторое видео m4v без DRM, которое я хотел бы отредактировать, обрезая кое-где.

  • QuickTime X ($ 0)

    • Плюсы: бесплатно, встроенный в OS X
    • Минусы: селектор для выбора времени начала и окончания не очень прост в использовании, чтобы получить точный ввод / вывод
  • iMovie ( $ 15 или бесплатно, если вы купили недавно Mac)

    • Плюсы: бесплатно
    • Минусы: не может обрабатывать mp4 / m4v напрямую, должен быть перекодирован [я считаю]
  • QuickTime 7 Pro ( 30 долларов )

    • Плюсы: могут вносить очень точные (в рамку) правки
    • Минусы: сохраняет только как .mov не .mp4 / .m4v
  • SimpleMovieX ( 40 долларов )

    • Плюсы: утверждает, что может сделать это (хотя я попробовал демо-версию и обнаружил, что пользовательский интерфейс настолько ужасен, что я даже не могу проверить, работает ли он, и если да, если он делает что-то, чего не может QuickTime X)
    • Минусы: кажется, что это «заброшенное программное обеспечение», поскольку за последние год даже незначительные обновления не наблюдались, обзоры MacUpdate почти полностью отрицательные, начиная с 2009 года, включая медленные или отсутствие ответов от разработчика.

Есть ли другие хорошие варианты там *? Если да, то каковы они и каковы их плюсы / минусы?

* Я указал «хорошо», потому что Google бесполезен для темы, поскольку результаты изобилуют сайтами, предлагающими «обзоры» программного обеспечения, которые по случайному совпадению они также продают. (Большинство сайтов и большая часть программного обеспечения очень похоже , как хорошо.) Там явно много дерьма там

Ти Джей Луома
источник
Я никогда не понимал, как именно, но иногда iMovie будет импортировать файлы mp4 / m4v без перекодирования. Я не знаю, есть ли какой-нибудь способ узнать точно, как он решает, но это может быть основано на определенных параметрах H.264, качестве, длине или даже только звуковой дорожке ... если вы можете понять, что это может будь лучшим вариантом.
drfrogsplat
squared5.com/svideo/mpeg-streamclip-mac.html - еще один вариант, который я должен был включить. Если бы я должен был сделать проект сегодня, это, вероятно, было бы то, что я использовал бы.
TJ Luoma
Кодек (H264) - вот что важно. До тех пор , пока вы не перекодировать m4v, вы являетесь его редактирование без потерь.
njboot
Даниэль - есть ли примеры видео MP4 онлайн? (или образец видео с той же камеры, или вы можете опубликовать здесь свои требования к тому, какой конкретный кодированный контент / кодек находится внутри контейнера mp4? Возможно, видео из iTunes U будет эквивалентно?
bmike

Ответы:

12

iMovie (не без потерь, но лучше, чем раньше)

iMovie v10 (выпущенный спустя некоторое время после того, как вопрос был задан изначально) теперь лучше обрабатывает больше типов носителей, поэтому позволяет избежать повторного кодирования импорта для большинства содержимого H.264 (mp4, m4v, mov, AVHDC, mts, mt2s).

Тем не менее, он все равно будет перекодировать при экспорте, поэтому не может быть технически без потерь - еще одна новая функция - возможность настроить качество экспорта, которое может быть практически без потерь. Я подозреваю, что эта часть ответа может в равной степени относиться к другим «проектно-ориентированным» программам для редактирования видео (например, Premiere или Final Cut), потому что я думаю, что все они обычно перекодируются на выходе, хотя обычно очень просты в использовании для точной обрезки.

Лично я вообще думаю, что одно перекодирование не является большой проблемой, но понимаю, что вы специально просили решение без потерь, так что ...

Без потерь (но намного сложнее!)

Существуют технические ограничения в отношении того, насколько точно вы можете вырезать видео без необходимости перекодировать хотя бы его часть, и это в основном зависит от частоты i-кадра. Если каждый кадр является i-кадром, вы можете вырезать его в любом месте, но если он выполняется только каждые несколько секунд, то вы можете вырезать только без потерь в этих i-кадрах без потери контента или перекодирования (по крайней мере, части поток), поэтому он может начинаться с I-кадра.

FFmpeg

Это SO Q & A, в частности, поднимает вопрос о том, как разрезать между i-кадрами, используя ffmpeg. Я не знаю ни одного приложения с графическим интерфейсом, чтобы сделать это, но в основном вы запускаете команду примерно так:

ffmpeg -i input.m4v -vcodec copy -acodec copy -ss 00:01:20.000 -t 00:37:50.000 output.m4v

Два указанных значения времени - это начало и продолжительность , и они могут быть указаны либо в секундах, либо hh:mm:ss.ss, а также -acodec copyи -vcodec copyуказывать ffmpeg не перекодировать.

Я не совсем уверен, что произойдет, если вы режете слишком рано, но я думаю, что видео практически пустое (или может быть повреждено, в зависимости от плеера), пока не встретит i-frame. Таким образом, вы, вероятно, захотите найти ближайший I-кадр до вашего разреза. Этот ответ решает эту проблему с помощью ffprobeи awk, хотя и немного неловко. По сути, вы используете ffprobeдля сканирования кадров и найти ближайший ключевой кадр ( flags=K) до идеальной точки вырезания. Полный вывод для каждого кадра видео можно увидеть так:

ffprobe -select_streams v -show_frames <INPUT>

Связанный ответ предоставляет эту команду, чтобы найти ключевой кадр до определенного времени:

ffprobe -select_streams v -show_frames -v quiet INPUT.mp4 | 
awk -F= ' 
  /pict_type=/ { if (index($2, "I")) { i=1; } else { i=0; } } 
  /pkt_pts_time/ { if (i && ($2 >= 150)) print $2; }  
' | head -n 1

И, наконец, если вам действительно нужно разрезать что-то между двумя i-кадрами, вы можете разделить видео и снова присоединиться. Основываясь на информации из этого ответа , это должно быть что-то вроде:

ffmpeg -f concat -i list_of_videos.txt -c copy OUTPUT.mp4

Где list_of_videos.txtнаходится простой текстовый файл со списком файлов, которые вы хотите объединить.

Резюме

iMovie, вероятно, достаточно хорош для большинства случаев (начиная с версии 10) и очень прост.

ffmpeg может делать это без потерь (или очень близко к без потерь), с небольшим переворотом; Уровень сложности зависит от того, насколько вы требовательны к точной начальной точке и частоте i-кадров.

drfrogsplat
источник
1
Меня больше всего беспокоит время, затрачиваемое на перекодирование (это многочасовые видеоролики, на которые я беру несколько минут), но ffmpeg выглядит многообещающе!
Даниил
О, хорошо, для длинных видео вполне вероятно (полностью зависит от источника кодирования), что i-кадры будут на расстоянии до 10 с, так что это может быть проблемой, если вы хотите обрезать их более точно. Расщепление, перекодирование первых <10 и конкатенация должны работать, но повторять много раз было бы неинтересно.
drfrogsplat
8

Я создал графический инструмент, который использует ffmpeg, чтобы позволить вам без потерь обрезать видео, выбрав начальную и конечную точки на временной шкале: https://github.com/mifi/lossless-cut

Это открытый исходный код и кросс-платформенный.

Микаэль Финстад
источник
1
Это хороший инструмент и значительно упрощает процесс использования ffmpeg для редактирования видео. Графический интерфейс очень помогает. Настоятельно рекомендуется.
Джон Марк Митчелл
Фантастический супер-простой инструмент. @Mikael, спасибо за это!
Михаил Златковский - Microsoft
К сожалению, не работает с 10-битными видео 4K MP4.
Маттис
7

Quicktime 7 Pro ( 30 долларов )

Откройте свое видео. Если вы хотите увидеть точный номер кадра: в левом нижнем углу нажмите на таймер, чтобы переключиться на экран «Номер кадра».

lowerleft

Выберите начальную точку (введите i, когда вы там) и конечную точку (введите o, когда вы там).
Выбрать
Перемещайте один кадр за раз с помощью клавиш со стрелками; или перетащите маленькие ручки внизу. (Здесь мы видим конец в кадре 1330.)

В меню «Правка» выберите «Удалить», чтобы избавиться от выбранной части, или «Обрезать», чтобы избавиться от всего остального.
культура

Хотя Quicktime 7 будет сохранять только в формате MOOV, он будет экспортироваться во многих форматах. Экспортируйте как MPEG-4 (например) и избегайте перекодирования, выбрав опцию «Pass through»

параметры

GEdgar
источник
Это отвечает на часть вопроса, но не как на самом деле использовать программу для обрезки видео.
Даниэль
ОК, я думал, что ОП понял все остальное. Но я все равно это вставлю.
Гедгар
От редакции: Quicktime X так же хорош, как Quicktime 7? Я не использовал Quicktime X в течение многих лет.
Гедгар
Я просто столкнулся с практически такой же необходимостью и обнаружил, что QT7 был самым простым и быстрым способом решения проблемы. apple.stackexchange.com/a/298690/24706
Джонатан ван Клют
К сожалению, QT7 (и все другие 32-битные приложения) перестанут работать в MacOS Catalina.
Гедгар
2

Final Cut Pro X ($ 299,99) Это одна из лучших программ для редактирования видео для Mac. С профессиональным качеством редактирования вы можете экспортировать файлы в более высоком, низком или в том же формате, что и раньше. Чтобы использовать редактор, вы можете использовать инструмент лезвия в нелинейном редакторе, чтобы вырезать части видео, или изменить объемное звучание 2.1 на 5.1. Он также имеет мультиформатную временную шкалу.

DaVinci Resolve 11 - есть три версии этого программного обеспечения. DaVinci Resolve Lite ($ 0). Программное обеспечение Davinci Resolve ($ 995) или Davinci Resolve ($ 29 995) Это одна из лучших программ на сегодняшний день. DaVinci Resolve, известная своими возможностями коррекции цвета, позволяет выполнять многоформатное редактирование, имеет множество возможностей перехода, ключевые кадры, потрясающие плагины, функции совместной работы и возможность перехода с Mac на Windows. Это также позволит вам обновить объемный звук, а также позволит перекадрировать кадры и не создавать прокси-медиа. Для точного редактирования и не 3D-видео облегченная версия для вас. Рекомендуется 8 ГБ оперативной памяти.

Оба этих продукта обеспечивают нелинейное редактирование и позволяют обновлять носители до несжатого формата для более быстрого экспорта на DVD.

bret7600
источник
1

Приложение LosslessCut выглядит очень перспективным.

https://github.com/mifi/lossless-cut

Простой и сверхбыстрый кроссплатформенный инструмент для обрезки без потерь видео / аудио файлов. Отлично подходит для экономии места за счет черновой обработки больших видеофайлов, снятых с видеокамеры, GoPro, дронов и т. Д. Он позволяет быстро извлекать хорошие части из ваших видео и отбрасывать многие гигабайты данных без медленного перекодирования и потери качество. Это чрезвычайно быстро, потому что это делает почти прямое копирование данных. Это подпитывается удивительным ffmpeg (входит в комплект) для выполнения тяжелой работы. Это также показывает некоторые другие операции без потерь на видео.

На скриншоте я выбрал 3 области обрезки. Когда я нажимаю E, каждый раздел нарезается и сохраняется в свой собственный видеофайл. Это очень хороший рабочий процесс.

Очень быстрое и потенциально огромное улучшение рабочего процесса по сравнению с другими инструментами, но пользовательский интерфейс / удобство использования может потребовать некоторой работы. Кроссплатформенный инструмент. Я бы хотел, чтобы это был Mac-native.

введите описание изображения здесь

pkamb
источник
0

Вы должны иметь возможность переключаться между кадрами в Quicktime Pro с помощью клавиш со стрелками. Это, конечно, не так просто, как использовать Avid, Final Cut, Premiere и т. Д., Но это выполнимо. Вы также можете перемещать свои метки с помощью клавиш со стрелками.

Kerlix
источник