Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Mencoder - вырезать и удалить часть видеофайла  (Прочитано 854 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн su_cpp

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Подскажите пожалуйста как с помощью mencoder можно удалить из видеофайла кусочек с заданным началом и концом.
-ss - задает начало обработки, а --endpos - конец.
А мне надо наоборот - удалить указанный кусочек, а все остальное оставить.

Это единственный вариант?
mencoder -ss 00:00:00 -endpos 02:00 -ovc copy -oac copy in.avi -o out-1.avi
mencoder -ss 00:05:00 -ovc copy -oac copy in.avi -o out-2.avi
mencoder -oac copy -ovc copy out-1.avi out-2.avi -o out-res.avi

Или может есть иные программы, которые могут одной командой сделать требуемое?
« Последнее редактирование: 10 Ноябрь 2019, 21:01:18 от su_cpp »

Оффлайн su_cpp

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Re: Mencoder - вырезать и удалить часть видеофайла
« Ответ #1 : 12 Ноябрь 2019, 21:40:40 »
Дело еще в том, при таком решении звук рассинхронизируется с видео и очень сильно.

Оффлайн The Green Side

  • Старожил
  • *
  • Сообщений: 1175
    • Просмотр профиля
Re: Mencoder - вырезать и удалить часть видеофайла
« Ответ #2 : 12 Ноябрь 2019, 21:56:47 »
Не знаю, что такое mencoder, я пользовался ffmpeg, схема очень похожая, берём 2 куска, потом их соединяем. Но для разных форматов это работает очень по-разному, есть сжатые форматы, которые невозможно так резать, получается белиберда. Их нужно перекодировать полноценным GUI приложением, например shotcut, kdenlive
Debian Testing (Gnome), Ubuntu Server 18.04

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4712
  • Capture the truth
    • Просмотр профиля
Re: Mencoder - вырезать и удалить часть видеофайла
« Ответ #3 : 12 Ноябрь 2019, 22:28:54 »
(Нажмите, чтобы показать/скрыть)
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

Оффлайн The Green Side

  • Старожил
  • *
  • Сообщений: 1175
    • Просмотр профиля
Re: Mencoder - вырезать и удалить часть видеофайла
« Ответ #4 : 12 Ноябрь 2019, 22:35:33 »
ALiEN175,
(Нажмите, чтобы показать/скрыть)
Debian Testing (Gnome), Ubuntu Server 18.04

Оффлайн su_cpp

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Re: Mencoder - вырезать и удалить часть видеофайла
« Ответ #5 : 12 Ноябрь 2019, 23:21:59 »
Мне надо вырезать просто ненужный кусок из файла. То есть оба куска по форматам одинаковы.
НО!
При разрезани и склеивании, почемуто, начиная от места склейки, звук плавно начинает сжиматься. То есть идти впереди видео. Не знаю почему, то ли из за особенностей кодека начального файла, но к концы всего видео у меня накапливаются минуты опережения!

Приходится:
Из склеенного куска извлечь дорожку:
mencoder out-res.avi -of rawaudio -oac mp3lame -ovc copy -o audio.mp3Потом в аудиоредакторе (у меня это audacity) кусок аудио с точки склейки и до конца растянуть на те накопившиеся минуты разницы, сохранить измененный звук (audio+9min.mp3)
Затем удалить аудио из склейки:
mencoder -noaudio -ovc copy out-res.avi -o out-res-no-aud.aviА затем склеить это видео с новым звуком:
mencoder -oac copy -audiofile audio+9min.mp3 -o out-rez-good.avi out-res-no-aud.avi
Операция прямо скажем чудовищная.
Раньше в репозитарии была программа AviDemux которая позволяла делать такую операцию в три клика.
Почему её больше нет, непонятно. А другие видеоредакторы что есть - с весьма экстравагантными интерфейсами, сомнительным назначением и стабильностью.
Если в mencoder нет такой нужной операции, то её надо бы создателям придумать.

Пользователь добавил сообщение 12 Ноябрь 2019, 23:29:57:
Не знаю, что такое mencoder, я пользовался ffmpeg,

ffmpeg уже ведь атавизм. Последний раз был по моему еще в 12-й убунте, но теперь заменен на mencoder.
Хотя сути проблемы не меняет.
« Последнее редактирование: 12 Ноябрь 2019, 23:29:57 от su_cpp »

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4712
  • Capture the truth
    • Просмотр профиля
Re: Mencoder - вырезать и удалить часть видеофайла
« Ответ #6 : 13 Ноябрь 2019, 00:14:42 »
ffmpeg уже ведь атавизм. Последний раз был по моему еще в 12-й убунте, но теперь заменен на mencoder.
живее всех живых. Были потуги с avconv, но видимо не срослось.
$: ffmpeg -version
ffmpeg version n4.2.1 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 9.2.0 (GCC)
configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-nvdec --enable-nvenc --enable-omx --enable-shared --enable-version3
libavutil      56. 31.100 / 56. 31.100
libavcodec     58. 54.100 / 58. 54.100
libavformat    58. 29.100 / 58. 29.100
libavdevice    58.  8.100 / 58.  8.100
libavfilter     7. 57.100 /  7. 57.100
libswscale      5.  5.100 /  5.  5.100
libswresample   3.  5.100 /  3.  5.100
libpostproc    55.  5.100 / 55.  5.100
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

Оффлайн andytux

  • Старожил
  • *
  • Сообщений: 4464
    • Просмотр профиля
Re: Mencoder - вырезать и удалить часть видеофайла
« Ответ #7 : 13 Ноябрь 2019, 05:57:22 »
Цитировать
Не знаю, что такое mencoder
От создателей mplayer: mplayer - воспроизводит, mencoder - кодирует.
Цитировать
начиная от места склейки, звук плавно начинает сжиматься
Сказываются и особенности формата сжатия звука и особенности конкретного режима.
Если звук сжат с переменным битрейтом, рассинхронизация почти неизбежна. Лучше применять режимы с постоянным битрейтом.
Некоторые битрейты более подвержены рассинхронизации. Классика жанра, самый ходовой битрейт - 128кбит/c. В результате ошибки в алгоритме подвержен рассинхрону. В частности, в avidemux применялись специальные трюки, для обхода этой напасти.
Может сказаться режим чередования кусков звука и видео..
 Да, avidemux жаль. Но можно попробовать поставить из "старого репозитария". Может удастся заставить работать. Да и PPA вроде существует.
А насчет mencodera. Одной командой пожалуй не справишься. Набирать каждый раз вручную - не пожелаешь и врагу.
Может есть смысл оформить все это в скрипт.
Цитировать
невозможно точно получить нужные секунды, отрезает бывает на 5 секунд позже указанного.
И слава богу, что он так делает, режет по ключевым кадрам. Если резать в произвольном месте, то до следующего ключевого кадра получишь "мусор".
Поэтому, форматы, которые ориентированы на редактирование располагают ключевые кадры почаще. Например DV-video - все кадры ключевые.
DVD - каждые полсекунды. Для снижения битрейта, ключевые кадры распологают реже. По дурости, вообще может только быть один, в начале.
В этом случае не удастся файл ни порезать ни перемотать.
« Последнее редактирование: 13 Ноябрь 2019, 06:07:33 от andytux »

Оффлайн zg_nico

  • Заслуженный пользователь
  • Модератор форума
  • Старожил
  • *
  • Сообщений: 3513
  • Nil mortalibus arduum est
    • Просмотр профиля
Re: Mencoder - вырезать и удалить часть видеофайла
« Ответ #8 : 13 Ноябрь 2019, 08:36:52 »
Раньше была программа AviDemux почему её больше нет, непонятно.
Всё течёт, все меняется...wget --show-progress --output-document="$HOME/avidemux_2.7.4.appImage" https://www.fosshub.com/Avidemux.html?dwl=avidemux_2.7.4.appImage
chmod +x "$HOME/avidemux_2.7.4.appImage"
$HOME/avidemux_2.7.4.appImage
Thunderobot G150-D2: Intel SkyLake Core i7-6700HQ 2.60GHz, 8Gb DDR4 2133 MHz, Intel HD530, NVidia GeForce GTX 960M 2Gb.  Ubuntu 16.04 64x [Unity], KUbuntu 18.04 64x.

Оффлайн su_cpp

  • Автор темы
  • Новичок
  • *
  • Сообщений: 19
    • Просмотр профиля
Re: Mencoder - вырезать и удалить часть видеофайла
« Ответ #9 : 23 Ноябрь 2019, 18:34:50 »
О, благодарю.
То что надо.

Оффлайн Niall

  • Новичок
  • *
  • Сообщений: 26
    • Просмотр профиля
Re: Mencoder - вырезать и удалить часть видеофайла
« Ответ #10 : 28 Ноябрь 2019, 22:08:35 »
andytux
Склеил в менкодере две авишки, у которых mp3 с переменным битрейтом. Рассинхронизация не появилась. Если mp3 поток чуть короче видео, в плеере на время появляется рассинхронизация, потом исчезает, но со второй части появляется несколько артефактов.
Клеить AVI лучше в MKVToolnix. Им же можно и порезать что угодно, в том числе одной командой.

Некоторые битрейты более подвержены рассинхронизации. Классика жанра, самый ходовой битрейт - 128кбит/c.
Битрейт не важен. Важен его тип - переменный или постоянный.

 

Страница сгенерирована за 0.099 секунд. Запросов: 26.