LINUX.ORG.RU

Как вырезать в видео пару кусков без ухудшения качества?

 , ,


0

1

Хотел с ребенком посмотреть фильм, убрав пару трехсекундных жестких кусков. Но видимо фильм удастся посмотреть не скоро.

1.

Ранее я убирал куски в Mplayer на лету, без перекодирования, с помощью EDL файла:

http://webhamster.ru/mytetrashare/index/mtb0/1615

Однако в современном Mplayer эту возможность успешно разломали, и альтернативы не сделали.

2.

Попытался вырезать через FFmpeg. Но и тут облом:

http://webhamster.ru/mytetrashare/index/mtb0/1485027597lmmpbhun3m

Команда:

ffmpeg -i InputVideo.avi -vcodec copy -acodec copy -ss 0:35:00 -t 0:00:5 OutputVideo.avi

помещает в выходной поток только аудио. Про баг написано тут:

https://github.com/Just-Some-Bots/MusicBot/issues/405

Но я обновился, сообщение об ошибке исчезло, а видео-поток все равно не попадает в выходной поток.


Вопрос. Какими еще инструментами можно вырезать пару кусков из видео без перекодирования? Желательно, сразу полную команду.

★★★★★

Последнее исправление: Xintrea (всего исправлений: 2)

если это часто делать то может avidemux или pitivi или что то в этом духе? или там не хорошо получается?

dima1981
()

сделай скрипт для кина, где плеер будет проигривать только нужные куски
типо первий играет до опр. момента , второй начинает после жжести и дальше, третий - после второй жести
и т.д.

anTaRes ★★★★
()

вот что я думаю
есть для аудио cue файлы в них можно указывать начало и конец трека ,возможно можно приспособить такое не хитрое решение и для видео.Перспективно копать в этом направлении.

zoloz
()

убрав пару трехсекундных жестких кусков

Хардварное решение в виде ладошки не катит?

wxw ★★★★★
()
Ответ на: комментарий от dima1981

В общем, через avidemux получилось, там можно без перекодирования, но почему-то запрашивает квантование для выходного потока q=4. Так что оригинальный поток на выходе получается или нет - понять не могу. Судя по скорости кодирования, фигачит без перекодировки. Зачем тогда квантование запрашивается - неясно.

Xintrea ★★★★★
() автор топика
Old EDL functionality using the --edl option is not supported.
MPlayer2 2.0-728-g2c378c7-4+b1 (C) 2000-2012 MPlayer Team

MPlayer2 — давно заброшенный форк. Его поковыряли-поковыряли и бросили. Сейчас актуальны MPlayer и mpv.

В MPlayer эти самые EDL работают, видео пропускается. В mpv свой формат EDL, там можно сшить фильм из нескольких клипов.

i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat

В Debian-е у меня вот такое пишет:

mplayer:

Нет доступной версии пакета mplayer, однако он упоминается в базе данных. Обычно это значит, что он упоминается как зависимость, но не был добавлен в репозиторий, устарел или не может быть получен, используя текущее содержимое sources.list

apt-get update естественно делал.

Xintrea ★★★★★
() автор топика
Последнее исправление: Xintrea (всего исправлений: 3)
Ответ на: комментарий от Xintrea
$ apt-cache policy mplayer
mplayer:
  Установлен: 2:1.3.0-6
  Кандидат:   2:1.3.0-6
  Таблица версий:
     4:1.3.0~20161223.svn37905-dmo2 45
         45 http://deb-multimedia.org stretch/main amd64 Packages
         40 http://deb-multimedia.org sid/main amd64 Packages
 *** 2:1.3.0-6 500
        500 http://ftp.ru.debian.org/debian stretch/main amd64 Packages
         50 http://ftp.ru.debian.org/debian sid/main amd64 Packages
        100 /var/lib/dpkg/status
i-rinat ★★★★★
()
Ответ на: комментарий от i-rinat
# apt-cache policy mplayer
mplayer:
  Установлен: (отсутствует)
  Кандидат:   (отсутствует)
  Таблица версий:
     2:1.0~rc4.dfsg1+svn34540-1+b2 0
        100 /var/lib/dpkg/status

В jessie почему то в обычном репозитарии (не мультимедия) мплайера нет.

Xintrea ★★★★★
() автор топика
Последнее исправление: Xintrea (всего исправлений: 1)
Ответ на: комментарий от Xintrea

я вообще далек от этого всего кодирования и т.д. пару раз сталкивался и то забыл когда сорян не подскажу

dima1981
()
Ответ на: комментарий от Xintrea

В jessie

Это было время перемен: libav и mplayer2. А вот в новом Stretch - старые знакомые: ffmpeg да mplayer.

А тут попробуй -map:

- ffmpeg -i InputVideo.avi -vcodec copy -acodec copy -ss 0:35:00 -t 0:00:5 OutputVideo.avi
+ ffmpeg -i InputVideo.avi -ss 0:35:00 -t 0:00:5 -map 0:0 -vcodec copy -map 0:1 -acodec copy OutputVideo.avi

gag ★★★★★
()

Я делал линейный монтаж как раз без перекодирования с помощью mkvmerge (в ОП пример команд для вырезания и склейки). На выходе у него всегда mkv, на входе что угодно.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
11 июня 2018 г.

Еще вариант для MPEG2 формата: MPEG Video Wizard с небольшими глюками, но работает в CrossOver. Есть предпросмотр, режет с точностью до кадра без пересжатия, поддерживается частичное пересжатие, если резка в середине GOP (для MPEG2 GOP обычно составляет 12 кадров, т.е. 0,5 сек) и при несовпадающем формате. Кнопка Details при экспорте показывает будет ли 100% копирование. Имеются примитивные функции видеомонтажа, например, можно видео куски поменять местами, звук заглушить на определенном моменте. Если в файле несколько аудиодорожек, они все сохранятся после экспорта (и вроде даже DVD субтитры сохраняет). Проект сохраняется автоматически и открывается при следующем запуске. Супер прога.

Если не будет воспроизводится видео, в настройках превью отключите overlay. У меня, например, в окне предпросмотра все равно изображение с цветными артефактами (зависит от видеодрайвера, наверное), но если дабл кликом перейти в полный экран, то уже норм, так даже наглядней. Если покажется, что прога зависла или какое-нибудь диалоговое окно не закрывается нажмите Alt+F4, прога не закроется и продолжит работу. Еще в панели задач не отображается, переключение по Alt+Tab. Русский интерфейс с кракозябрами, используйте English. Но это мелочи. Нативного софта с таким функционалом на Линуксе нет.

anonymous
()
Ответ на: комментарий от i-rinat

Как человек точно знающий, зачем был создан mplayer2 и чем именно он лучше, могу утверждать что mpv отлично продолжил его дело (хоть и потерял совместимость в значительной мере). Заслуги его и людей его разрабатывавших сложно переоценить, несмотря на все баги и недоработки. А mplayer место на свалке истории вместе со всеми разрабами.

anonymous
()

Хуже цензуры только люди осознанно её воплощающие.

Современный mplayer это mpv, и он всё отлично умеет. А с ffmpeg у тебя какие-то дистропроблемы, попробуй avconv может не знаю.

anonymous
()
Ответ на: комментарий от anonymous

Только не кидайте VOBы с DVD сразу на таймлайн, будут косяки на стыках и звуковые дорожки могут перепутаться. Лучше сначала подготовить склеенный MPG, например, так:

cd '/home/user/Path to DVD/VIDEO_TS' && ffmpeg -i concat:"VTS_01_1.VOB|VTS_01_2.VOB|VTS_01_3.VOB|VTS_01_4.VOB" -map 0:1 -map 0:2 -vcodec copy -acodec copy -sn -f vob '/home/user/Muxed.mpg'
Если звук PCM или DTS, его лучше пережать в AC3, вместо copy
-acodec ac3 -b:a 384k -ac 2

Хотел с ребенком посмотреть фильм, убрав пару трехсекундных жестких кусков

Ну а я подрезал DVD A nagy fuzet 2013 чтобы старшее поколение не травмировать. Можно, конечно, было не париться с MPEG Video Wizard, а в Kdenlive с пересжатием нормально смонтировать.

сделай скрипт для кина, где плеер будет проигрывать только нужные куски
В MPlayer эти самые EDL работают, видео пропускается

Тут еще вопрос нужно ли, чтобы была резка без палева или нет. Потому что наверняка эти скрипты работают не без следов, чтобы все прям гладко шло. А иногда нужен довольно тонкий монтаж, но и пересжимать не хочется.

ffmpeg -ss -to
mkvmerge
Avidemux

Так они только по ключевым режут. Для MPEG2 это может еще и ничего, а в H.264 расстояние до ближайшего ключевого кадра может быть до 10 секунд. На винде есть VideoRedo TV Suite с поддержкой MKV/MP4/H.264 (последняя версия работает на XP, если что, хоть официально и не заявлено). Тоже частично только пересжимает. Кстати не пытайтесь резать в Avidemux не по ключевым кадрам в режиме copy. Разрежет то разрежет, но файл будет с артефактами в местах резки, т.к. Avidemux тупо разбивает GOP структуру.

-t 0:00:5

Лучше указывать не количество секунд, а продолжительность конца -to XX:XX:XX. -ss и -to указанные после -i работают несколько по другому, медленнее, но и точнее. С srt субтитрами замечены глюки при резке. А если нужно, чтобы все дорожки попали в выходной файл, нужно указать -map 0 (0 это номер входного файла, нумерация начинается с нуля)

mpv отлично продолжил его дело. А mplayer место на свалке истории

Вот только mpv разучился плавно играть DVD NTSC 2:3 Pulldown (aka soft telecine), в отличии от mplayer. Еще с колориметрией что-то (например, в логах исчезло предупреждение в xvideo режиме о возможной неправильной работе).

Хуже цензуры только люди осознанно её воплощающие

Это верно, по хорошему надо ее избегать.

anonymous
()
Ответ на: комментарий от anonymous

Мало кто знает, что ffmpeg по умолчанию декодирует ac3 потоки с компрессией. Чтобы ее избежать и получить полный динамический диапазон звука, нужно добавить -drc_scale 0 ПЕРЕД -i (по умолчанию 1)

Аналогичные команды для SMPlayer, вставляются «настройки-дополнительно-параметры Mplayer/MPV-верхнее поле настройки»:

Для движка mpv

--ad-lavc-ac3drc=0
Для движка mplayer
-a52drc 0
Но, если вы слушаете только в колонках и не хотите мешать соседям, можно ничего не менять.

anonymous
()
-vcodec copy -acodec copy

Ты какие-то протухшие хаутухи нагуглил. Никто так уже давно не использует параметры. Вместо этого достаточно написать -c copy, если надо звук то -с:a copy и т.п.

Вместо гугляжа почитай документацию.

anonymous
()
Ответ на: комментарий от anonymous

Я знаю, но старые команды нагляднее и продолжают работать. -c copy специально не указывал, на случай, если звук пережимать придется. Можно даже уточнить -c:a:0 значит первая звуковая дорожка, -c:a:1 вторая.

anonymous
()
Ответ на: комментарий от anonymous

Чем это лучше Avidemux? Неужели точность резки покадровая в режиме copy с частичным пересжатием того, что пришлось не на ключевой кадр? По первой ссылке судя по описанию резка только в одном месте грубо. По второй склеивалка и экспорт в формате оригинала (copy или тот же кодек, хз). Если с Lossless кодеком, то и Kdenlive так умеет.

anonymous
()
Ответ на: комментарий от anonymous

подготовить склеенный MPG, например, так

Что-то я ступил конкретно. VOBы можно просто склеить любой утилитой для склеивания файлов и скормить видеоредактору. Тогда и субтитры не потеряются и проблем на стыках не будет.

декодирует ac3 потоки с компрессией

Конечно, если ac3 содержит в метаданных эту информацию (присутствует в каждом фрейме). Проверить можно в MediaInfo: Debug-Complete, View-Text - параметр dialnorm. Если -31 dB значит компрессии нет, если выше, например часто бывает -27 dB значит информация о drc есть. Но MediaInfo проверяет вроде бы только первый аудио фрейм. Хоть редко (кустомщина), но бывает, что дальше данные могут быть другими и это учитывают плееры.

anonymous
()

Можно не резать, а сделать сабы - в нужных местах полностью перекрыть картинку своей.

anonymous
()
Ответ на: комментарий от anonymous

подготовить склеенный MPG

Но вообще-то DVD по хорошему нужно открывать не пофайлово (хоть вобы и единое целое, может там в самом начале реклама, заставки), а через IFO плейлист. Это корректнее и с точки зрения всяких задержек. Или бывает видео с заставкой в начале имеет другие параметры (29.97 Hard telecine), а фильм 23.976 Soft telecine, но «вредная» частота 29.97 пропишется в mediainfo на весь фильм. Можно через PgcDemux в режиме IFO распаковать на элементарные потоки, а потом в ImagoMPEG-Muxer собрать MPG.

anonymous
()

У меня всё нормально с твоей командой. Копируется со звуком, без перекодирования.

kostik87 ★★★★★
()
Ответ на: комментарий от anonymous

VideoRedo TVSuite

Под Wine не работает. Старые версии может и заведутся (вряд ли), но не рекомендую, в них говорят намного хуже алгоритмы. Начитался я лора и что-то захотелось вернуться на винду, надоели все эти пляски с вайном/виртуалбоксом...

anonymous
()
Ответ на: комментарий от anonymous

mplayer место на свалке истории

С удивлением узнал, что в отличии от mplayer, из mpv выпилили поддержку DVD Menu. Оно и не особо надо, но сериалы открывать удобней. Но так то mpv, конечно, предпочтительней. Умеет скриншоты делать в точный момент времени, а не со следующего кадра, как mplayer

переходы какие-то наркоманские

https://www.youtube.com/watch?v=cOZuUgmzAK8 как-то замудрено сделано. Почему бы не как в вегасе или windows movie marker просто участки друг на друга не перетащить (простой переход) и сразу со звуком. При необходимости дополнительно хитрый переход кинуть. А затемнение делать после резки стрелочкой.

anonymous
()
Ответ на: комментарий от anonymous

подрезал A nagy fuzet 2013
цензуру надо избегать

А то начнутся вопросы по сюжетным нестыковкам. Оно вам надо? Ответственность на себя брать за восприятие фильма по своим кривым резкам.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.