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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Обрезать 10 секунд видео с конца?  (Прочитано 2311 раз)

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

bghno

  • Автор темы
  • Гость
Обрезать 10 секунд видео с конца?
« : 04 Октябрь 2017, 21:27:55 »
Приветствую. Как на сервере в терминале обрезать последние 10 секунд видео без перекодирования? Формат файла mkv

Оффлайн xradio

  • Любитель
  • *
  • Сообщений: 53
    • Просмотр профиля
Re: Обрезать 10 секунд видео с конца?
« Ответ #1 : 05 Октябрь 2017, 01:41:59 »
На каком ещё сервере!? FFmpeg - проще некуда!

Оффлайн gamayun

  • Активист
  • *
  • Сообщений: 823
  • Кто ищет, тот найдёт, может быть...
    • Просмотр профиля
Re: Обрезать 10 секунд видео с конца?
« Ответ #2 : 05 Октябрь 2017, 06:03:19 »
Например:
ffmpeg -i 1.avi -vcodec copy -acodec copy -ss 00:00:36 -t 00:1:02 output.aviвырезка фрагмента с 36 секунды по 62.На матрешке не доводилось правда резать.
Да,t-это продолжительность фрагмента,а не по какую секунду.Забывается  :-\
« Последнее редактирование: 05 Октябрь 2017, 07:46:28 от gamayun »
Не бери в голову

bghno

  • Автор темы
  • Гость
Re: Обрезать 10 секунд видео с конца?
« Ответ #3 : 05 Октябрь 2017, 14:25:50 »
На каком ещё сервере!? FFmpeg - проще некуда!
Ubuntu сервер 16.04.3 hwe ядро без gui. FFmpeg - проще некуда! Согласен! Вопрос как!

Пользователь добавил сообщение 05 Октябрь 2017, 14:32:14:
Например:
ffmpeg -i 1.avi -vcodec copy -acodec copy -ss 00:00:36 -t 00:1:02 output.aviвырезка фрагмента с 36 секунды по 62.На матрешке не доводилось правда резать.
Да,t-это продолжительность фрагмента,а не по какую секунду.Забывается  :-\
По моему на русском написал. Мне не надо с 36 секунды по 62, и то что вы написали есть в man и help, которые я, естествено, прочитал прежде чем задать этот вопрос, а также погуглил.Повторю: надо обрезать видео ~10 секунд С КОНЦА ВИДЕОФАЙЛА БЕЗ ПЕРЕКОДИРОВАНИЯ, ТО ЕСТЬ УДАЛИТЬ ПОСЛЕДНИЕ 10 СЕКУНД ВИДЕОФАЙЛА БЕЗ ПЕРЕКОДИРОВАНИЯ. ЗАДАЧА ОСЛОЖНЯЕТСЯ ТЕМ, ЧТО ДЛИТЕЛЬНОСТЬ ВИДЕОФАЙЛА ПРОИЗВОЛЬНА И ОПЕРАЦИЮ нужно ПРОИЗВЕСТИ В КОНСОЛИ ИЛИ ТЕРМИНАЛЕ БЕЗ GUI!
« Последнее редактирование: 05 Октябрь 2017, 14:33:39 от bghno »

Оффлайн gamayun

  • Активист
  • *
  • Сообщений: 823
  • Кто ищет, тот найдёт, может быть...
    • Просмотр профиля
Re: Обрезать 10 секунд видео с конца?
« Ответ #4 : 05 Октябрь 2017, 15:05:35 »
bghno, из начала вашей темы совсем не ясно что вы читали.И что значит длительность файла произвольна.Если вы читали man, то знаете как через ffmpeg посмотреть все свойства видеофайла, в том числе и его продолжительность.Пример я вам дал команды для терминала,вместо 36 сами знаете что можно поставить.Если для вас операция осложняется тем,ЧТО ДЛИТЕЛЬНОСТЬ ВИДЕОФАЙЛА ПРОИЗВОЛЬНА И ОПЕРАЦИЮ нужно ПРОИЗВЕСТИ В КОНСОЛИ ИЛИ ТЕРМИНАЛЕ БЕЗ GUI,то я не знаю что тут сказать.Давайте посмотрим,кто еще чего подскажет.
Не бери в голову

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4315
  • Capture the truth
    • Просмотр профиля
Re: Обрезать 10 секунд видео с конца?
« Ответ #5 : 05 Октябрь 2017, 15:22:58 »
проще некуда - пишем скрипт: читаем длину видео, вычитаем 10 секунд, кидаем в переменную, а переменную в ffmpeg
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

bghno

  • Автор темы
  • Гость
Re: Обрезать 10 секунд видео с конца?
« Ответ #6 : 05 Октябрь 2017, 19:06:40 »
вместо 36 сами знаете что можно поставить
не знаю, файл произвольный по длине, в конце файла информационный шум, надо просто без перекодирования отрезать 10 секунд, файлов много, буду писать скрипт, но для начала надо понять как проделать одну операцию

Пользователь добавил сообщение 05 Октябрь 2017, 19:10:55:
проще некуда - пишем скрипт: читаем длину видео, вычитаем 10 секунд, кидаем в переменную, а переменную в ffmpeg
ну начать бы с того как прочитать длину видео  :idiot2:
« Последнее редактирование: 05 Октябрь 2017, 19:10:55 от bghno »

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4315
  • Capture the truth
    • Просмотр профиля
Re: Обрезать 10 секунд видео с конца?
« Ответ #7 : 05 Октябрь 2017, 19:20:28 »
apt install mediainfo
mediainfo --Inform="General;%Duration/String3%" file
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

bghno

  • Автор темы
  • Гость
Re: Обрезать 10 секунд видео с конца?
« Ответ #8 : 05 Октябрь 2017, 19:35:31 »
apt install mediainfo
mediainfo --Inform="General;%Duration/String3%" file
Спасибо! Это уже что-то
$ mediainfo --Inform="General;%Duration/String3%" SPCH0YcTtTg.mkv
00:01:13.901
То есть у меня клип 73 секунды, отнимаем 10 секунд получаем клип 63 сек, вот его то и надо сохранить с произвольным именем, а старый естественно удалить ( в баше я не силён если что)

Пользователь добавил сообщение 05 Октябрь 2017, 19:52:23:
Например:
ffmpeg -i 1.avi -vcodec copy -acodec copy -ss 00:00:36 -t 00:1:02 output.aviвырезка фрагмента с 36 секунды по 62.На матрешке не доводилось правда резать.
Да,t-это продолжительность фрагмента,а не по какую секунду.Забывается  :-\
Собственно два вопроса: будет ли это работать с mkv? Перекодирование не вариант, - сервер загружен под завязку.
И будет ли это работать с переменными? И как присвоить вывод mediainfo переменной?
« Последнее редактирование: 05 Октябрь 2017, 19:54:38 от bghno »

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4315
  • Capture the truth
    • Просмотр профиля
Re: Обрезать 10 секунд видео с конца?
« Ответ #9 : 05 Октябрь 2017, 19:54:26 »
как-то так, особо не тестировал
Код: Bash
  1. #!/bin/bash
  2. file="$1"
  3. len=$(mediainfo --Inform="General;%Duration/String3%" "$file")
  4. H=$(date -d $len +%-H)
  5. M=$(date -d $len +%-M)
  6. S=$(date -d $len +%-S)
  7. s=${len: -3}
  8. res=$[ $H * 3600 + $M * 60 + $S - 10 ].$s
  9.  
  10. ffmpeg -i "$file" -acodec copy -vcodec copy -ss 0 -t $res "cropped_$file"
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

bghno

  • Автор темы
  • Гость
Re: Обрезать 10 секунд видео с конца?
« Ответ #10 : 05 Октябрь 2017, 20:00:10 »
как-то так, особо не тестировал
Код: Bash
  1. #!/bin/bash
  2. file="$1"
  3. len=$(mediainfo --Inform="General;%Duration/String3%" "$file")
  4. H=$(date -d $len +%-H)
  5. M=$(date -d $len +%-M)
  6. S=$(date -d $len +%-S)
  7. s=${len: -3}
  8. res=$[ $H * 3600 + $M * 60 + $S - 10 ].$s
  9.  
  10. ffmpeg -i "$file" -acodec copy -vcodec copy -ss 0 -t $res "cropped_$file"
Положил скрипт в папку с файлом, запустил, вот что выдало
(Нажмите, чтобы показать/скрыть)

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4315
  • Capture the truth
    • Просмотр профиля
Re: Обрезать 10 секунд видео с конца?
« Ответ #11 : 05 Октябрь 2017, 20:03:54 »
имя файла надо
./res "file" (кавычки нужны!)
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

bghno

  • Автор темы
  • Гость
Re: Обрезать 10 секунд видео с конца?
« Ответ #12 : 05 Октябрь 2017, 20:08:11 »
имя файла надо
./res "file" (кавычки нужны!)
работает чётко! Вот только кто ж ему (серверу) будет имя файла вводить?  :idiot2:

Оффлайн ALiEN175

  • Модератор форума
  • Старожил
  • *
  • Сообщений: 4315
  • Capture the truth
    • Просмотр профиля
Re: Обрезать 10 секунд видео с конца?
« Ответ #13 : 05 Октябрь 2017, 20:10:14 »
ну можно в цикл
for f in *mp4 ; do ./res "$f"; done
ой, mkv конечно же
for f in *mkv ; do ./res "$f"; doneи лучше уже обрезанные файлы в другую папку кидать..
« Последнее редактирование: 05 Октябрь 2017, 20:16:09 от ALiEN175 »
ASUS P5K-C :: Intel Xeon E5450 :: 8 GB RAM :: Nvidia 8500GT :: XFCE
SAMSUNG N150 :: Intel Atom N450 :: 2 GB RAM :: Intel GMA3150 :: XFCE

bghno

  • Автор темы
  • Гость
Re: Обрезать 10 секунд видео с конца?
« Ответ #14 : 05 Октябрь 2017, 20:18:16 »
ну можно в цикл
for f in *mp4 ; do ./res "$f"; done
Ух, здорово, спасибо! Всё работает как надо! Можно пару вопросов? Что посоветуете почитать, чтобы так разбираться в баш, хотя бы на этом уровне? И второе, если у вас есть самописные скрипты и не жалко поделиться, можете скинуть в личку?

 

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