Сжимаем фильмы с помощью ffmpeg - Страница 2 - Видео лаборатория - eMule-Rus.Net Форум муловодов - Страница 2

Перейти к содержимому



Сжимаем фильмы с помощью ffmpeg


  • Вы не можете ответить в тему
  • Вы не можете создать новую тему
Сообщений в теме: 87

#21 OFFLINE   Al71

 

    Мастер

  • [eMule-Rus]
  • сообщений: 3 275
    Последний визит:
    22 ноя 2022 07:59
  • Пол:Мужчина
  • Откуда:Москва
 

Отправлено 10 Июль 2020 - 20:29

Достаточно указать имя или шаблон с расширением при запуске, любой из этих форматов перекодируется в h264/mkv.

#22 OFFLINE   UrryMan

 

    душевный парень

  • Модераторы
  • сообщений: 2 213
    Последний визит:
    Вчера, 22:10
  • Пол:Мужчина
  • Откуда:С-Пб
 

Отправлено 11 Июль 2020 - 12:42

Просмотр сообщенияAl71 сказал:

= ~1565 kBit/s (суммарный битрейт)
Для такого битрейта или 1024х576 или 720х576(16:9).
В первом варианте лучше задать к-во выше среднего.

#23 OFFLINE   Damian

 

    Долгожитель

  • Постоянные посетители
  • PipPipPipPipPipPipPipPipPipPip
  • сообщений: 1 473
    Последний визит:
    21 дек 2023 21:37
  • Пол:Мужчина
 

Отправлено 11 Июль 2020 - 21:16

UrryMan, а есть вообще такие устройства,камеры которые изначально в нормальный формат,сжатый пишут?

#24 OFFLINE   UrryMan

 

    душевный парень

  • Модераторы
  • сообщений: 2 213
    Последний визит:
    Вчера, 22:10
  • Пол:Мужчина
  • Откуда:С-Пб
 

Отправлено 11 Июль 2020 - 22:35

Просмотр сообщенияDamian сказал:

а есть вообще такие устройства,камеры которые изначально в нормальный формат,сжатый пишут?

Думаю в том формате, что нужно вам, пишут аппараты 7-10 летней давности.
На современных аппаратах самым низшим качеством считается 1280х720.

Может вместо камеры лучше подумать о хранилище на пару терабайт ?

#25 OFFLINE   Damian

 

    Долгожитель

  • Постоянные посетители
  • PipPipPipPipPipPipPipPipPipPip
  • сообщений: 1 473
    Последний визит:
    21 дек 2023 21:37
  • Пол:Мужчина
 

Отправлено 13 Июль 2020 - 08:47

Просмотр сообщенияUrryMan (11 Июль 2020 - 22:35) писал:

Может вместо камеры лучше подумать о хранилище на пару терабайт ?
у меня нет таких материальных возможностей.Al71, напомни пожалуйста как кусок нужный из видео перекодировать?В эту строку что нужно добавить?
ffmpeg -i "$fn" -vf scale=1280:720 -c:v h264 -crf 23 -preset medium -map 0:0 -c:a aac -b:a 128k -map 0:1 "$newfn"
мне нужно к примеру вот такой отрезок : 00:00:00 - 00:02:05 сделать.Как эту строку отредактировать?Камера хорошая и звук пишет хорошо,одно жаль ракурс правильный не поймаешь,даже если в руках держать, а так и из кармана хватает неплохо.

#26 OFFLINE   Al71

 

    Мастер

  • [eMule-Rus]
  • сообщений: 3 275
    Последний визит:
    22 ноя 2022 07:59
  • Пол:Мужчина
  • Откуда:Москва
 

Отправлено 13 Июль 2020 - 09:26

Просмотр сообщенияDamian сказал:

напомни пожалуйста как кусок нужный из видео перекодировать?В эту строку что нужно добавить?

Цитата

Чтобы иметь представление, как будет выглядеть видео, не кодируя файл целиком, используйте опции -ss и -t/-to.
-ss задает время начала фрагмента в секундах либо в формате HH:MM:SS от начала файла.
-t -- продолжительность фрагмента.
-to -- время окончания фрагмента, отсчитываемое от начала файла.

Так как твой фрагмент идет от начала файла, можно использовать разные записи, например:
-t 125
-to 00:02:05
В общем случае:
-ss 00:00:00 -to 00:02:05

ffmpeg -i "$fn" -vf scale=1280:720 -c:v h264 -crf 23 -preset medium -ss 00:00:00 -to 00:02:05 -map 0:0 -c:a aac -b:a 128k -map 0:1 "$newfn"


#27 OFFLINE   Al71

 

    Мастер

  • [eMule-Rus]
  • сообщений: 3 275
    Последний визит:
    22 ноя 2022 07:59
  • Пол:Мужчина
  • Откуда:Москва
 

Отправлено 13 Июль 2020 - 23:10

Просмотр сообщенияDamian сказал:

Для склеивания какая-то другая команда нужна по всей видимости.У меня есть уже готовые .mkv: DVO00000,DVO00003,DVO00005, исходные avi я не храню,удаляю по причине размера большого,можно их с помощью FFMPEG объединить?

Нужно создать файл следующего содержания:
file DVO00000.mkv
file DVO00003.mkv
file DVO00005.mkv

Назовем его flist и выполним следующую команду:
ffmpeg -f concat -safe 0 -i flist -c copy output.mkv

Можешь написать скрипт, который создает упорядоченный flist в текущем каталоге и запускает ffmpeg одной командой при любом наборе файлов.

#28 OFFLINE   Damian

 

    Долгожитель

  • Постоянные посетители
  • PipPipPipPipPipPipPipPipPipPip
  • сообщений: 1 473
    Последний визит:
    21 дек 2023 21:37
  • Пол:Мужчина
 

Отправлено 14 Июль 2020 - 10:11

Я бы рад написать,но боюсь дальше ше банг дело не пойдёт.
#!/bin/sh
ffmpeg -f concat -safe 0 -i flist -c copy output.mkv

это явно не оно. Опция -f это и есть команда для объдинения,хотелось бы мне научиться скрипты писать,но что-то не выходит пока,синтаксисом плохо владею,на уровне команд для установки программ,драйверов итп,ещё знаю а дальше нет.

#29 OFFLINE   Al71

 

    Мастер

  • [eMule-Rus]
  • сообщений: 3 275
    Последний визит:
    22 ноя 2022 07:59
  • Пол:Мужчина
  • Откуда:Москва
 

Отправлено 14 Июль 2020 - 14:41

Держи:
#!/bin/bash
flist="$(ls *.mkv | sort -V)"
for f in $flist
do
echo "file '$PWD/$f'" >>flist
done
ffmpeg -f concat -safe 0 -i flist -c copy z\ out.mkv
rm flist

Объединяет все mkv файлы в текущем каталоге в порядке увеличения индексов и пишет результат в "z out.mkv". Только имена исходных файлов должны быть без пробелов, иначе не сработает.

#30 OFFLINE   Damian

 

    Долгожитель

  • Постоянные посетители
  • PipPipPipPipPipPipPipPipPipPip
  • сообщений: 1 473
    Последний визит:
    21 дек 2023 21:37
  • Пол:Мужчина
 

Отправлено 14 Июль 2020 - 16:23

Сделал,запускаю так:
./flist.sh z out.mkv
только у меня файл flist после этого исчез.Первый был просто текстовый документ а второй получается скрипт и он его заменил.Надо наверное все скрипты в папку Scripts закинуть,и запускать уже к примеру по адресу
./Scripts/avitomkv.sh *avi
У меня их уже очень много,не так как у тебя но всё же есть.А пардон я невнимательно скрипт изучил,там в конце команда которая файл удаляет. Как бы мне научиться языком овладеть,там только баш нужен?

Сообщение отредактировал Damian: 14 Июль 2020 - 21:36


#31 OFFLINE   Al71

 

    Мастер

  • [eMule-Rus]
  • сообщений: 3 275
    Последний визит:
    22 ноя 2022 07:59
  • Пол:Мужчина
  • Откуда:Москва
 

Отправлено 15 Июль 2020 - 17:51

Просмотр сообщенияDamian сказал:

там только баш нужен?

В данном случае непринципиально.

#32 OFFLINE   Damian

 

    Долгожитель

  • Постоянные посетители
  • PipPipPipPipPipPipPipPipPipPip
  • сообщений: 1 473
    Последний визит:
    21 дек 2023 21:37
  • Пол:Мужчина
 

Отправлено 15 Июль 2020 - 21:55

Просмотр сообщенияAl71 (15 Июль 2020 - 17:51) писал:

В данном случае непринципиально.

Так может и взял бы надо мной шэфство.

#33 OFFLINE   Al71

 

    Мастер

  • [eMule-Rus]
  • сообщений: 3 275
    Последний визит:
    22 ноя 2022 07:59
  • Пол:Мужчина
  • Откуда:Москва
 

Отправлено 19 Июль 2020 - 05:41

Разница между sh и bash

А скрипт простейший, в твоем случае его можно сделать еще проще:

rm flist

for f in *.mkv
do
echo "file '$PWD/$f'" >>flist
done

ffmpeg -f concat -safe 0 -i flist -c copy z\ out.mkv

- Строку Шебанга ( #!/bin/bash) в данном случае можно не указывать, так как неважно, какой интерпретатор будет использоваться.

-Удаление списка (rm flist) здесь для того, чтобы при повторном запуске новые строки не добавлялись к старым. Команду можно поставить как в начале, так и в конце скрипта. В последнем случае список не сохраняется.

-Дальше идет цикл (for ... done), который последовательно добавляет к списку строки вида
file '/полный путь к текущему каталогу/имя файла'
для всех файлов  с расширением mkv в папке.

-В конце запускается собственно ffmpeg для объединения файлов по списку. Судя по документации к ffmpeg, возможно указание списка прямо в строке (без файла), но у меня этот способ не работал.

#34 OFFLINE   Damian

 

    Долгожитель

  • Постоянные посетители
  • PipPipPipPipPipPipPipPipPipPip
  • сообщений: 1 473
    Последний визит:
    21 дек 2023 21:37
  • Пол:Мужчина
 

Отправлено 30 Октябрь 2020 - 19:58

Ну а как к примеру допустим для ютуба эти матроски готовые можно использовать?Чтобы выложить туда подходят эти файлы или нет?

#35 OFFLINE   Al71

 

    Мастер

  • [eMule-Rus]
  • сообщений: 3 275
    Последний визит:
    22 ноя 2022 07:59
  • Пол:Мужчина
  • Откуда:Москва
 

Отправлено 30 Октябрь 2020 - 21:09

По-моему, нет. Для ютуба лучше использовать mp4 и aac. Попробуй просто заменить в скриптах mkv на mp4.

#36 OFFLINE   Damian

 

    Долгожитель

  • Постоянные посетители
  • PipPipPipPipPipPipPipPipPipPip
  • сообщений: 1 473
    Последний визит:
    21 дек 2023 21:37
  • Пол:Мужчина
 

Отправлено 17 Декабрь 2020 - 18:13

Al71,как можно убрать дату и время с видео,водяной знак кажется называется.Нет софта подходящего?

#37 OFFLINE   Al71

 

    Мастер

  • [eMule-Rus]
  • сообщений: 3 275
    Последний визит:
    22 ноя 2022 07:59
  • Пол:Мужчина
  • Откуда:Москва
 

Отправлено 17 Декабрь 2020 - 18:40

С ffmpeg можно заблюрить с помощью видеофильтра delogo, только с координатами надо определиться. Насчет других программ не знаю.

#38 OFFLINE   Damian

 

    Долгожитель

  • Постоянные посетители
  • PipPipPipPipPipPipPipPipPipPip
  • сообщений: 1 473
    Последний визит:
    21 дек 2023 21:37
  • Пол:Мужчина
 

Отправлено 17 Декабрь 2020 - 20:19

Просмотр сообщенияAl71 сказал:

только с координатами надо определиться. Насчет других программ не знаю.
фиг его знает крайний левый угол как угадать.
ffmpeg -i "$fn" -vf scale=1280:720 -c:v h264 -crf 30 -preset medium -map 0:0 -c:a aac -b:a 128k -map 0:1 "$newfn"
щас параметры такие и всё на mp4 переправил в остальном скрипт не изменял.Как тогда получается добавить нужные координаты прямо в это строку что ли?Координаты не могу определить.С помощью VLC не выходит понять.

#39 OFFLINE   Al71

 

    Мастер

  • [eMule-Rus]
  • сообщений: 3 275
    Последний визит:
    22 ноя 2022 07:59
  • Пол:Мужчина
  • Откуда:Москва
 

Отправлено 18 Декабрь 2020 - 00:50

Можно сделать снимок кадра (клавиша S в mpv) и посмотреть координаты в GIMP'е, или, если нету гимпа, подобрать экспериментально:

ffmpeg -i mpv-shot0001.jpg -vf delogo=x=260:y=170:w=100:h=50:show=1 z.jpg

Цифры подставляешь свои, show=1 (рамку) можно потом убрать.

Есть еще фильтр removelogo, но для него надо специально создавать маску в графическом редакторе. Он хорош там, где надо замазать область неправильной формы.

#40 OFFLINE   Damian

 

    Долгожитель

  • Постоянные посетители
  • PipPipPipPipPipPipPipPipPipPip
  • сообщений: 1 473
    Последний визит:
    21 дек 2023 21:37
  • Пол:Мужчина
 

Отправлено 19 Декабрь 2020 - 00:54

Просмотр сообщенияAl71 сказал:

Для ютуба лучше использовать mp4 и aac.
Таки что-то не виходит.Загрузил,обработка не хочет заканчиваться,наверное кодек не тот.

Цитата

Оптимальным форматом видео для YouTube является MP4 с видеокодеком H.264 и аудиокодеком AAC

а у нас вот что:
Изображение

щас плюну и брошу загружать,обработка стоит 99% и фсё. :ct:





Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных