Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » FFmpeg

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96

Открыть новую тему     Написать ответ в эту тему

guru431

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


FFmpeg — набор свободных библиотек с открытым исходным кодом, которые позволяют записывать, конвертировать и передавать цифровые аудио- и видеозаписи в различных форматах, а также консольная утилита ffmpeg.exe, представляющая из себя универсальный видеоконвертер.
 

Ссылки на русском:
  • Документация по FFmpeg
  • Статья «19 команд FFmpeg для любых нужд»
  • Статья «20 команд FFmpeg для начинающих»
     
    Примеры использования:
  • Преобразовать в MKV
  • Захвата с экрана, со звуком
  • Кодирование с помощью технологии Nvidia NVENC
  • Поддержка вывода Юникода в консоль Windows
  • Подготовка качественных GIF-файлов из видео при помощи FFmpeg
     
    Поддержка Windows XP
    Последний официальный билд под Windows XP от Zeranoe ffmpeg-20150525-git-8ce564e был в мае 2015. Тема (нужен TOR), посвященная сборкам ffmpeg/ffprobe, работающих под Windows XP.
    Готовые сборки, зеркало версии от 2019, 2020, 2021 года.
    Static builds by Kyle Schwarz (последний для WinXP ffmpeg-3.0-win32-static.7z).
    GUI под WinXP (ffqueue, WinFF, Video converter).
     
    Список различных сборок.
     
    По общим вопросам написания командных файлов есть отдельная тема "Командная строка, батники, сценарии - bat, cmd".

  • Всего записей: 66 | Зарегистр. 28-02-2007 | Отправлено: 17:23 21-11-2012 | Исправлено: V0lt, 16:51 27-01-2024
    MMasutin

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    FiLinX, -i zvyk.mp3 и -c:a libmp3lame? Лишнее кодирование! copy! Основы FFmpeg! Полезны и основы BASH или Windows Batch. Примерно такможно.
    echo перед FFmpeg покажет конечные команды. Для исполнения удалить echo перед FFmpeg.
    Полученный m4a (c aac возможны погрешности по времени) как внешнюю дорогу проверить в проигрывателе в местах соединения. Если надо, подогнать aac в уже упомянутом mp3DirectCut или всё там делать. Последние версии уже имеют DLL для AAC.
    Менять видео сложнее!

    Всего записей: 71 | Зарегистр. 05-01-2021 | Отправлено: 21:42 22-03-2023 | Исправлено: MMasutin, 22:12 22-03-2023
    351878



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    подскажите кто нибудь. имею:
    ffmpeg.exe -i "вошло" -c:v libvpx-vp9 -crf 30 -b:v 0 -a:c libvorbis "вышло"
    на входе аудио 5.1 на выходе получаю 2.0
    как сделать чтоб кол-во каналов сохранялось, не зависимо от их кол-ва на входе?

    Всего записей: 975 | Зарегистр. 28-03-2016 | Отправлено: 12:58 30-03-2023 | Исправлено: 351878, 13:00 30-03-2023
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    351878

    Цитата:
    на входе аудио 5.1 на выходе получаю 2.0  

    Как вы это определили?
     
    P.S.
    В команде '-a:c' замените на '-c:a'

    Всего записей: 7322 | Зарегистр. 08-09-2001 | Отправлено: 13:52 30-03-2023
    351878



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Как вы это определили?  

    а что тут определять? как написал так и есть (mediainfo)/

    Цитата:
    В команде '-a:c' замените на '-c:a'
     
    ура, получилось)
     
    а можно пояснить -a:c замените на -c:a ? пытался покурить, не нашёл.
    (я вообще то думал что это всё как то через -map надо делать)

    Всего записей: 975 | Зарегистр. 28-03-2016 | Отправлено: 14:17 30-03-2023 | Исправлено: 351878, 14:24 30-03-2023
    notinthewoods



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    351878
    -c:v = codec для video
    -c:a = codec для audio
    -a:c выглядит как бы странно
    ************
    В свою очередь, у меня возник такой вопрос. Вот здесь: https://trac.ffmpeg.org/wiki/Encode/VP9 написано:

    Цитата:
    Постоянное качество.
    ...
    Чтобы запустить этот режим, необходимо использовать комбинацию -crf и -b:v 0. Обратите внимание, что -b:v ДОЛЖНО быть равно 0. Установка большего значения или полное его отсутствие приведет к запуску режима ограниченного качества.

    Я пробовал кодировать несколько видео с -crf 30 -b:v 0 и те же самые видео только с -crf 30 (без -b:v 0). Разницы не увидел - байт в байт. Не устарело ли это -> -b:v 0 ? Какой смысл в этом ограничении? Ведь CRF будет кодировать именно с указанным качеством и само определит, сколько битрейта ему нужно.

    Всего записей: 479 | Зарегистр. 31-01-2015 | Отправлено: 15:53 30-03-2023
    351878



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


    Цитата:
    Не устарело ли это -> -b:v 0
    нда, интересненько
     
    -c:a эт мы все знаем)
    -a:c я просто не нашёл нигде, может конечно искал плохо?)
     

    Всего записей: 975 | Зарегистр. 28-03-2016 | Отправлено: 21:25 30-03-2023
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    -a:c я просто не нашёл нигде, может конечно искал плохо?)  

    потому что такого ключа нет.

    Всего записей: 7322 | Зарегистр. 08-09-2001 | Отправлено: 16:08 31-03-2023
    351878



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    del

    Всего записей: 975 | Зарегистр. 28-03-2016 | Отправлено: 21:32 31-03-2023 | Исправлено: 351878, 00:26 01-04-2023
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    эт чё скрытыч какой то?)

    его просто нет
    $ ffmpeg -i in.mp4 -c:v libvpx-vp9 -crf 30 -b:v 0 -a:c libvorbis out.mkv
    Unrecognized option 'a:c'.
    Error splitting the argument list: Option not found

    Всего записей: 7322 | Зарегистр. 08-09-2001 | Отправлено: 22:46 31-03-2023
    351878



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    короч попутало по ходу)

    Всего записей: 975 | Зарегистр. 28-03-2016 | Отправлено: 00:03 01-04-2023 | Исправлено: 351878, 00:26 01-04-2023
    Baltazar500



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Valery_Sh,
    Цитата:
    C пресетами для libx264 тема вечная. Если надо быстро, то можно и дефолтный пресет medium.Если железо и время не жмёт, лучше бы пресеты slow/slower
    А если железо слабенькое, но времени достаточно ? Или вы это и подразумевали ?
     
    V0lt,
    Цитата:
    Проверьте по результату не поменялись ли цвета.
    Есть много видео, в которых не прописаны параметры цвета. И плеерам приходится выдумывать эти параметры основываясь только на разрешении.
    А ffmpeg разве не может их корректно перенести при пережатии ? Совета neorion достаточно или нужны ещё какие-то манипуляции ? Определять на глаз ?
     
    neorion

    Цитата:
    При ресайзе HD>SD по идее нужно корректировать цвета. ffmpeg этого не делает автоматически, в отличии от pro софта.
     

    Код:
    -vf colormatrix=bt709:bt601,scale=960:540
    Спасибо
     
    p.s. Всем отписавшимся - спасибо за помощь
     
    p.p.s. Тут по ffmpeg появилось ещё несколько вопросов, так что озвучу их здесь же.
     
    1. Каким макаром при ремуксе mkv-ки затащить в ремукс cover- арты из оригинала. Сколько не делал пассов с метаданными - пикчи в mkv-ку не переносятся.
     
    2. Можно ли заставить ffmpeg конвертировать ass в srt со срезкой html-тегов ? Т.е. до простого текста ? Можно ли его заставить работать с субтитрами в cp1251, а не только в utf-8 ? Мб.есть более адекватное решение для конвертации субтитров из консоли, нежели fgmpeg ?

    Всего записей: 2080 | Зарегистр. 19-09-2011 | Отправлено: 05:00 01-04-2023 | Исправлено: Baltazar500, 05:10 01-04-2023
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Baltazar500

    Цитата:
    А ffmpeg разве не может их корректно перенести при пережатии ? Совета neorion достаточно или нужны ещё какие-то манипуляции ?

    Берете свое видео, берете свою версию FFmpeg (лучше 6.0+). Перекодируете и сравниваете исходник и результат в MediaInfo. Это будет самый точный ответ на ваш вопрос.

    Цитата:
    Определять на глаз ?

    Сравнение исходника и результата на глаз - это обязательное требование для качественного "пережатия".

    Цитата:
    Можно ли его заставить работать с субтитрами в cp1251, а не только в utf-8 ?

    Забудьте про cp1251 и прочее. Если хотите беспроблемной работы с текстом, то пользуйтесь UTF-8.
     
     
    Добавлено:
    Преобразовать в UTF-8 можно обычным Блокнотом или любым современным аналогом.
     
    Пример скрипта для массового преобразования из Win-1251 в UTF-8:
    ConvertWin1251toUTF8.ps1
    Код:
    $fld = 'd:\test\subtitles\'
    $flt = '*.srt'
    $encin = [text.encoding]::getencoding("windows-1251")
    $encout = [text.encoding]::getencoding("utf-8")
     
    filter recode-file {
        $content = [io.file]::readalltext($_.fullname, $encin)
        [io.file]::writealltext($_.fullname, $content, $encout)
    }
     
    dir $fld -filt $flt -file -rec|recode-file

    Всего записей: 10456 | Зарегистр. 05-02-2003 | Отправлено: 08:16 01-04-2023 | Исправлено: V0lt, 11:05 01-04-2023
    Ghost Inets1

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Где взять кодек ffmpeg?

    Всего записей: 1849 | Зарегистр. 30-03-2016 | Отправлено: 09:50 01-04-2023
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Baltazar500

    Цитата:
    Можно ли его заставить работать с субтитрами в cp1251, а не только в utf-8 ?

    используйте '-sub_charenc CP1251'
    _http://trac.ffmpeg.org/wiki/ManagingOtherLanguagesThanEnglish
     

    Цитата:
    Мб.есть более адекватное решение для конвертации субтитров из консоли, нежели fgmpeg ?

    какая ОС? Субтитры отдельным файлом?

    Всего записей: 7322 | Зарегистр. 08-09-2001 | Отправлено: 11:10 01-04-2023
    Baltazar500



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    V0lt,

    Цитата:
    Берете свое видео, берете свою версию FFmpeg (лучше 6.0+).
    А где конкретно  6.0+ взять ? По линку в шапке  максиму 5.2-2131
    Цитата:
    Перекодируете и сравниваете исходник и результат в MediaInfo. Это будет самый точный ответ на ваш вопрос.
    Смотреть на предмет радикальных различий или что-то специфическое/конкретное ?
    Цитата:
    Сравнение исходника и результата на глаз - это обязательное требование для качественного "пережатия".  
    ОК.
    Цитата:
    Забудьте про cp1251 и прочее. Если хотите беспроблемной работы с текстом, то пользуйтесь UTF-8.
    Я то пользуюсь. А вот те кто релизит контент - зачастую нет.
    Цитата:
    Пример скрипта для массового преобразования из Win-1251 в UTF-8:  
    Есть нюанс. Что будет с сабами в UTF-8 с BOM, которые намешаны с сабами в CP1251 ? У меня iconv накидывает те самые 3 "BOM" байта в виде текста "п»ї", перегоняя из UTF-8 в UTF-8, делая сабы невалидными для ffmpeg при дальнейшей пакетной обработке. PowerShell'a у меня в наличии нет, так что глянуть скрипт в деле не могу.
    los,
    Цитата:
    используйте '-sub_charenc CP1251'  
    В том то и дело, что уже пробовал. Ловлю такое на ass - сабах с cp1251
    Код:
     
    ffmpeg -hide_banner -i "D:\test\subs\test.ASS" -sub_charenc CP1251 "D:\test\subs\test.srt"
    Input #0, ass, from 'D:\test\subs\test.ASS':
      Duration: N/A, bitrate: N/A
      Stream #0:0: Subtitle: ass
    Codec AVOption sub_charenc (set input text subtitles character encoding) specified for output file #0 (D:\test\subs\test.srt) is not an encoding option.
     

    Цитата:
    какая ОС? Субтитры отдельным файлом?
    Win7 (SP1, если играет роль) x64, субтитры отдельными файлами

    Всего записей: 2080 | Зарегистр. 19-09-2011 | Отправлено: 14:09 01-04-2023
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Baltazar500

    Цитата:
    А где конкретно  6.0+ взять ? По линку в шапке  максиму 5.2-2131

    Шапка темы > Страница загрузки > Windows builds from gyan.dev > release-builds > latest release version: 6.0 2023-03-04
    https://www.gyan.dev/ffmpeg/builds/#release-builds

    Цитата:
    Смотреть на предмет радикальных различий или что-то специфическое/конкретное ?

    Параметры видеопотока, естественно. Еще сколько раз спросите, вместо того чтобы просто сделать, что вам предложили?

    Цитата:
    Есть нюанс. Что будет с сабами в UTF-8 с BOM, которые намешаны с сабами в CP1251 ?

    Скритп, который Я привел в пример - это одно из возможных решений. Если вам не подходит, то пользуйтесь другими решениями, тем же Блокнотом.

    Всего записей: 10456 | Зарегистр. 05-02-2003 | Отправлено: 15:00 01-04-2023
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Baltazar500

    Цитата:
     Ловлю такое на ass - сабах с cp1251

    команда неправильная, должно быть:
     
    ffmpeg -sub_charenc CP1251 -i in.ass out.srt
     

    Цитата:
    У меня iconv накидывает те самые 3 "BOM" байта в виде текста "п»ї", перегоняя из UTF-8 в UTF-8

    Какой-то странный iconv, можете выложить исходный и полученный файлы? И напишите команду для iconv которую использовали.
     

    Цитата:
    Есть нюанс. Что будет с сабами в UTF-8 с BOM, которые намешаны с сабами в CP1251 ?

    Для этого используются программы для определения кодировки - uchardet и подобные.

    Всего записей: 7322 | Зарегистр. 08-09-2001 | Отправлено: 15:15 01-04-2023
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Baltazar500

    Цитата:

    Цитата:
    используйте '-sub_charenc CP1251'
    В том то и дело, что уже пробовал. Ловлю такое на ass - сабах с cp1251

    У меня норм.

    Код:
    ffmpeg -sub_charenc CP1251 -i "win-1251.ass" "utf-8.srt"

    Всего записей: 10456 | Зарегистр. 05-02-2003 | Отправлено: 15:20 01-04-2023
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    V0lt

    Цитата:
    У меня норм.  

    Так у вас синтаксис команды верный в отличие от Baltazar500.

    Всего записей: 7322 | Зарегистр. 08-09-2001 | Отправлено: 15:29 01-04-2023
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Предложу еще такой вариант

    Код:
    ffmpeg -i "subtitles.ass" -c:s text "subtitles.srt"

    Удаляться все тэги.
    Я не знаю, как удалить только тэги <font> и оставить другие (например, <i>).

    Всего записей: 10456 | Зарегистр. 05-02-2003 | Отправлено: 16:43 01-04-2023
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96

    Компьютерный форум Ru.Board » Компьютеры » Программы » FFmpeg


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru