Ковертирование any видео в mp4.
-
Сразу оговорюсь: я не понимаю, зачем нужно использовать громоздкие gui приложения, если есть легковесные консольные аналоги (и по размеру пакета, и по числу звисимостей, и месту на диске). GUI — то же самое + графика, что влечёт наложение ошибок и потребность в изучении интерфейса/функционала, хотя и удобно, проще освоить — это ±. Плюс не все приложения доступны на всех дистрибутивах, а консольные более универсальны. Но это лирика …
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Про конвертацию:
я понвертирую через ffmpeg в консоли, потому как эта замечательная утилита встроена во все системы, но версия мб не самой новой, что зависит от модели обновления, разработчиков и исправления уязвимостей и ошибок разработчиками ffmpeg.
(да, там есть уязвимости https://ffmpeg.org/security.html).
В общем случае команда выглядит:
(входной файл + видеокодек + аудиокодек = выходной файл).
ffmpeg -i file.mp4/.mkv/.avi/etc -c:v видеокодек -c:a аудиокодек file.mp4/.mkv/.avi/etc
Мой список команд
#ffmpeg -i input.avi output.mp4 — конвертировать в .mp4
#ffmpeg -i input.mp4 -c:v h264_nvenc -c:a copy output.mp4 — аппаратное ускорение nVidia
#ffmpeg -i "имя" -c:v hevc_nvenc -crf 25 -c:a copy "видео h265.mp4" — перекодировать видео в mp4 c кодеком h265 и видеоускорением
#ffmpeg -i "имя" имя.webp — конвертировать в аналог gif
#ffmpeg -i input.avi -c:v vp9 -c:a libmp3lame -b:v 7000k (битрейт видео) -b:a 256k (битрэйт аудио) output.mp4 — пример использования vp9 для видео и mp3 для аудио
#ffmpeg -i inputfile.avi -c:v libx264 -crf 23 -preset fast -c:a libmp3lame outputfile.mp4
#ffmpeg -i 'имя.mp4' -c:v hevc_nvenc -c:a copy 'имя h265.mp4'
# AV1: libaom-av1, libsvtav1 (librav1e)
# VP8/9: libvpx-vp8/9
hevc_nvenc
При наличии видеокарты nVidia можно использовать аппаратное ускорение. Но я заметил, что имеет смысл на больших видео ≈500+ МБ. Если конвертировать маленькое видео в паре с видюхой, то размер выходного файла получается гигантским, и нет никакого сжатия.
Параметр -crf (20-40) можно использовать для снижения размера выходного файла за счёт снижения качества картинки. 40 - мыло, 30 - середина. Например vokoscreenNG изначально пишет в crf 17 и crf25 для разных кодеков. Аналоично с SimpleScreenRecorder — там 23 по умолчанию, ЕМНИП.
Звуковые кодеки, которые я использую: libvorbis, libopus или сopy (сохранить исходный кодек).
Заметил, что первый поддерживается не всеми устройвстами, иногда мне писали люди, что у них нет звука. Второй ещё и уменьшит размер выходного файла, поэтому предпочтительно использовать его.
Видеокодеки, которые я использую:
AV1: libaom-av1, libsvtav1 (librav1e) — современный и эффективный в плане сжатия, но у меня работает только первый и медленно идёт конвертация (насколько я понимаю, для них нужен новый ЦП с поддержкой инструкций AVX512), которого у меня нет.
libx264/libx265 — современный и распространённый формат для сжатия, второй ещё сильнее уменьшит вес выходного файла ценой большой нагрузки на ЦП (увеличением времени обработки). Перед загрузкой в интернет пережимаю видео в H.265 для уменьшения веса файла.
Тут можно упомянуть этическую сторону вопроса, так как некоторые кодеки/контейнеты имеют либо свободные лицензии (VP8, VP9, AV1, .mkv) или отчисления и закрытые лицензии (h264, mp4). Но нам, как пользователям домашним, до этого нет дела по-большому счёту (на вкус и цвет).
Через ffmpeg, например, можно быстро обрезать видео командой — 13 пункт статьи на losst, а в редакторе нужно импортировать, подрезать, а потом экспорт, что долго и нагрузка на железо при обработке выходной.
Если нужно соединить видео и аудио дорожки, то команда имеет вид:
ffmpeg -i video.mkv -i audio.mp3 (указать -c:v, -c:a и прочие параметры при желании) output.mp4
При конвертации можно поймать ошибки, они бывают из-за того, что не все контейнеры поддерживают все кодеки: mkv — самый старый и универсальный, имеет массу возможностей; mp4 — современный и именно его можно часто встретить в современном вебе. В Телеграм видео формата .mkv будет открыто во внешнем проигрывателе, а .mp4 в самом приложении воспроизводится.
Статьи, полезные к изучению:
https://wiki.debian.org/ffmpeg
https://habr.com/ru/articles/171213/
https://help.ubuntu.ru/wiki/ffmpeg
https://losst.pro/poleznye-komandy-ffmpeg -
x230:
https://pkgs.org/download/mystiqNeo:MystiQ Video Converter
Грасаучег!
Но инфы нуна больше!.
http://download.jovenclub.cu/aplicaciones/MystiQ/Linux/
или
Shutter Encoder
https://www.shutterencoder.com/?ref=itsfoss.com
https://postimg.cc/G4Thy050
и ))
Ciano
https://robertsanseries.github.io/ciano/download.html -
В связи с вопросом второй раз поставил HandBrake (из репозитория версия 1.8.1), которая пока висит на главной. Первый раз ставил HB для посмотреть, ещё больше понравилось в этот раз. После опыта с ffmpeg в консоли, когда уже есть некоторое представление о влиянии применённых параметров на выходной результат, настройки и установки аудио/видео в HB не выглядят такими замороченными.
Изначально записал кусок фильма на 332 МБ, подрезал в Shotcut, импорт в 720p (вес выходного файла уже 94 МБ). Далее пережал через HB в h265 до 58 МБ, длится кусок 3 минуты. В процессе используется процесс ghb (не знаю такой библиотеки, это что-то своё, судя по названию — graphic handbrake). После смены звукового кодека на Vorbis вместо дефолтного AAC вес файла уменьшился до 44 МБ.
Минусы HB:
1. Не все подсказки переведены, есть с ошибками пунктуации;
2. Звуковой кодек получилось выбрать нужный (vorbis) со второго раза (это пройдёт, как привынешь и разберёшься)
Плюсы HB:
1. GUI, русифицировано, есть всплывающие подсказки, разобраться и привыкнуть нужно;
2. Судя по выходному кодеку HEVC, автоматом использовалось аппаратное ускорение nVidia, чего не отражено в настройках;
3. При кодировании процесс ghb грузит ЦП на 40-50 %, есть cli версия в репах.
Есть два DVD, один уже перекодировал в .mp4 через VLC, эти не получилось (видимо, от записи защита). В HB можно по одному трэку вытягивать, но не все, что тоже не плохо. В общем, рекомендасьён, как блогер одна говорит. Буду теперь использовать. Изначально сам был такого мнения, что с GUI нужно разбираться и изучить его, но и синтаксис ffmpeg в консоли, возможные ключи/параметры и их правильное написание тоже требуют времени, усидчивости и некоторого умственного напряжения. -
В Linux всегда так ) Прога вроде неплохая , а настройки по-умолчанию не проработаны.
Надо вникать во все эти кодеки,форматы,синтаксисы ...
А надо всего лишь пережать ,напр, формат с видеорега в МР4 . Настроек 100 параметров , а результат кое-какой.
А вот в Виндовской Format Factory - открыл -Выбрал видео- Старт и готово ужато в 2 раза ,но с отличным видом.
Надо оттуда настройки скопировать ))) -
Ещё проще кому-нибудь заплатить за работу с видео.Neo:А надо всего лишь пережать ,напр, формат с видеорега в МР4 . Настроек 100 параметров, а результат кое-какой.
Constrict — простая программа для Linux, которая позволяет сжимать видео до определённых размеров. Это может быть полезно для платформ с низким лимитом на размер вложений (например, 10 МБ в Discord). Обработка выполняется локально на вашем компьютере.
Установите целевой размер, до которого программа будет пытаться сжимать видео. Когда это невозможно, показывается предупреждение. Качество сжатого видео зависит от разницы размера исходного файла.
Constrict основан на проекте 8mb (https://github.com/matthewbaggett/8mb), который в свою очередь основан на FFmpeg — мощном кроссплатформенном инструменте для обработки медиа.
https://github.com/Wartybix/Constrict
Скачать Constrict: https://flathub.org/en/apps/io.github.wartybix.Constrict