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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    skuwakin

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Продолжение темы про ffmpeg - i https://
     
    Похоже и поддержки https тут будет маловато… Нашел я две сборки (одна из которых распоследняя) у которых в списке входных протоколов есть https, но прямой линк на ютубовское видео они не желают открывть. Ругаются так же (403).
    Ох, чую, что задачка сия без разработчиков ffmpeg не решаема…

    Всего записей: 227 | Зарегистр. 17-03-2005 | Отправлено: 15:22 08-01-2022
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    skuwakin, ищите ключ аналогичный '-L' у curl т.к. тот же curl без ключа '-L' по ссылкам полученным при помощи youtube-dl не качает.

    Всего записей: 7322 | Зарегистр. 08-09-2001 | Отправлено: 16:46 08-01-2022
    skuwakin

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    los
    Так я в первом порсте про эту хрень и написал, что cutl при откл. проверки серт-ов прекрасно качает по этим линкам. А у ffmprg слово сертификат упоминается тока для вывода с исп-ем tls (тупо искал по контексту в папке doc ffmpeg)
     
     
    Добавлено:
    los
    Спс за ответ!
    Увы, понятие redirect ffmpeg использует тока для перекл. ист-ка ввода команд, наскока я понял...

    Всего записей: 227 | Зарегистр. 17-03-2005 | Отправлено: 17:25 08-01-2022 | Исправлено: skuwakin, 17:27 08-01-2022
    deniums

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    У меня ffmpeg 4.3.1 открывает ютубовские URL.

    Код:
    yt-dlp "https://www.youtube.com/watch..." -f 136 -g
    ffmpeg -i "https://rr2---sn-25glene6.googlevideo.com/videoplayback..." -c copy -to 00:01:00 01.mkv

    Собран с такими параметрами:

    Код:
    --enable-pic --enable-gpl --enable-version3 --enable-nonfree --enable-static --disable-shared --disable-debug --disable-doc --enable-avisynth --enable-frei0r --enable-gcrypt --enable-gmp --enable-gnutls --enable-gray --enable-libdav1d --enable-librav1e --enable-libaom --enable-libass --enable-ladspa --enable-libbluray --enable-libcdio --enable-libdc1394 --enable-libfdk-aac --enable-libfontconfig --enable-libfreetype --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-libopus --enable-libpulse --enable-librubberband --enable-libvidstab --enable-librtmp --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libxml2 --enable-libzimg --enable-libzvbi --enable-vapoursynth --enable-openal

    То есть, с gnutls и gcrypt вместо openssl. Но, думаю, разницы нет, кроме лицензии.
    403 ошибка означает, что URL все-таки загружается, но сервер не разрешает.

    Всего записей: 392 | Зарегистр. 18-11-2021 | Отправлено: 18:14 08-01-2022
    skuwakin

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    deniums
    спс за ответ!
    А не поделитесь сборкой, интересно попробовать, тока у меня винда...

    Всего записей: 227 | Зарегистр. 17-03-2005 | Отправлено: 18:19 08-01-2022 | Исправлено: skuwakin, 18:19 08-01-2022
    los

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

    Цитата:
    Так я в первом порсте про эту хрень и написал...

    Это вообще про другое, а не про сертификаты
    .
    Цитата:
    Увы, понятие redirect ffmpeg использует тока для перекл. ист-ка ввода команд, наскока я понял...

    _https://trac.ffmpeg.org/ticket/8833
    _https://trac.ffmpeg.org/ticket/6490
    выполните поиск по _https://trac.ffmpeg.org вполне возможно, что подобное уже там обсуждалось и проблема в вашей сборке ffmpeg.

    Всего записей: 7322 | Зарегистр. 08-09-2001 | Отправлено: 18:24 08-01-2022 | Исправлено: los, 18:25 08-01-2022
    deniums

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    skuwakin
    Не, я компилял сам под Ubuntu 16.04 32 bit. А под винду трудно компилять. Я хотел, но максимум осилил собрать несколько кодеров и то с Visual Studio намучился.
     
    Попробуйте эти сборки:
    https://rwijnsma.home.xs4all.nl/files/ffmpeg/?C=M;O=D
    https://sourceforge.net/projects/mplayer-win32/files/FFmpeg/
    https://web.archive.org/web/20200916091959/https://ffmpeg.zeranoe.com/builds/win32/static/ffmpeg-4.3.1-win32-static.zip
     
    UPD: Про менеджер пакетов vcpkg для Windows я тогда еще не знал, а то бы попробовал.

    Всего записей: 392 | Зарегистр. 18-11-2021 | Отправлено: 18:28 08-01-2022 | Исправлено: deniums, 18:30 08-01-2022
    skuwakin

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    los
    ок, спс большое за ответ!
     
     
    Добавлено:
    Может быть кому-то сгодится. Проблема решилась...
    Как только я вызвал ffmpeg не из батника, а прямо из фара.
     
    Еще раз всем спасибо и сорри за отвлекон...

    Всего записей: 227 | Зарегистр. 17-03-2005 | Отправлено: 18:28 08-01-2022
    Gideon Vi

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

    Цитата:
    Как только я вызвал ffmpeg не из батника, а прямо из фара

    некоторые символы в cmd-файлах (например %) надо экранировать

    Всего записей: 8075 | Зарегистр. 02-02-2004 | Отправлено: 04:52 09-01-2022
    mithridat1



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

    Цитата:
     некоторые символы в cmd-файлах (например %) надо экранировать

    Теперь припоминаю, что проблема с экранированием постояно присутствовала во всех версиях FFmpeg (и вообще во всех приложениях, изначально созданных для *nix). Раньше в youtube-dl удавалось подсмотреть командную строку для FFmpeg, но в актуальных релизах вижу что почему то всегда используется внутренний загрузчик даже при указании --external-downloader. Вопрос о том, как можно автоматизировать экранирование в bat-файлах наверняка разбирался где то здесь Командная строка, батники, сценарии - bat, cmd

    Всего записей: 4924 | Зарегистр. 05-01-2006 | Отправлено: 05:57 09-01-2022
    los

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

    Цитата:
    Теперь припоминаю, что проблема с экранированием постояно присутствовала во всех версиях FFmpeg (и вообще во всех приложениях, изначально созданных для *nix).

    Простого взятия в кавычки url недостаточно?

    Всего записей: 7322 | Зарегистр. 08-09-2001 | Отправлено: 09:49 09-01-2022
    Gideon Vi

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    обычно достаточно, но я не вижу пример комстроки от skuwakin, сделал предположение на основе последнего поста

    Всего записей: 8075 | Зарегистр. 02-02-2004 | Отправлено: 10:17 09-01-2022
    bbcby

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте, помогите с проблемкой. Немного погуглил - нечего не получается.
    Есть такая команда:

    Код:
    ffmpeg -hide_banner -i test.avs -c:v libx264 -crf 22 -y test.264

     
    Mediainfo показывает вот что:

    Код:
    Frame rate mode  : Variable
    Frame rate : 23.976 FPS

    Какие параметры нужны для кодирования, чтобы было:
     
    Frame rate mode : Constant
    Frame rate : 23.976 (24000/1001)
     
    Спасибо.

    Всего записей: 611 | Зарегистр. 11-06-2003 | Отправлено: 17:18 14-01-2022 | Исправлено: bbcby, 17:19 14-01-2022
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bbcby
    Параметр -r 24000/1001 пробовали?

    Всего записей: 10457 | Зарегистр. 05-02-2003 | Отправлено: 18:02 14-01-2022
    bbcby

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    V0lt
    Да. Также пробовал
     
    -vf fps=fps=24000/1001
    -vsync cfr
    -framerate 24000/1001
    -filter:v fps=24000/1001
     
    Я вот думаю, а может он не может то, что я хочу?

    Всего записей: 611 | Зарегистр. 11-06-2003 | Отправлено: 18:46 14-01-2022
    los

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

    Цитата:
    Да. Также пробовал  

    $ mediainfo '--Inform=Video;%FrameRate_Mode/String%\n%FrameRate/String%' in.mp4
    Variable
    30.129 FPS
     
    $ ffmpeg -i in.mp4 -r 24000/1001 out.mp4
    $ mediainfo '--Inform=Video;%FrameRate_Mode/String%\n%FrameRate/String%' out.mp4
    Constant
    23.976 (24000/1001) FPS

    Всего записей: 7322 | Зарегистр. 08-09-2001 | Отправлено: 19:55 14-01-2022 | Исправлено: los, 19:55 14-01-2022
    deniums

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Это извечная особенность ffmpeg, норовит помечать видео vfr. Не обращайте внимания. Но если режет глаз, попробуйте (помимо прочего) дописать -x264opts force-cfr
    Только не указывайте -r перед -i, иначе может быть рассинхрон.
     
    Добавлено:
    Сохранять лучше в mkv. В mp4 с fps творится какая-то чехарда.

    Всего записей: 392 | Зарегистр. 18-11-2021 | Отправлено: 22:03 14-01-2022
    bbcby

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    los
    Если кодировать в контейнер MP4 / MKV, Mediainfo пишет
     
    Constant
    23.976 (24000/1001) FPS

     
    Если из контейнера достать этот .264  
     
    Variable
    23.976 FPS

    Всего записей: 611 | Зарегистр. 11-06-2003 | Отправлено: 22:11 14-01-2022 | Исправлено: bbcby, 22:12 14-01-2022
    deniums

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bbcby
    Frame rate mode есть и видеопотока и у контейнера. Посмотреть можно командой mediainfo -full
    Например:

    Код:
    Frame rate mode                          : CFR
    Frame rate mode                          : Constant
    FrameRate_Mode_Original            : VFR

    Добавлено:
    ffmpeg кодирует в vfr не просто так. ffmpeg, в отличии от привычных нам avisynth based конвертеров (MeGUI, XviD4PSP 5), поддерживает переменную частоту кадров. Я напомню, что частота кадров = 1 / длительность каждого кадра (например, для 25 fps = 1/25 = 0.04s = 40ms). А длительность каждого кадра (и соответственно fps) не обязана быть постоянной. ffmpeg кодирует на лету за один проход, он не знает, что там будет впереди. Поэтому указывает в метаданных vfr. Вдруг fps изменится (такое бывает). При этом, видео в конечном итоге может оказаться cfr, но с меткой vfr. В этом нет ничего страшного. Плееры смотрят на длительность каждого кадра, на метаданные потока/контейнера им плевать.
    Я скажу больше, даже cfr метка не означает, что видео на самом деле cfr. Может частота плавать, а в контейнере все равно указан cfr (этим грешит Avidemux). Как я уже говорил, плееры учитывают таймкоды каждого кадра прежде всего.

    Всего записей: 392 | Зарегистр. 18-11-2021 | Отправлено: 22:48 14-01-2022 | Исправлено: deniums, 23:04 14-01-2022
    bbcby

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    В принципе понятно. Спасибо.
    Добавил параметр force-cfr, из свойств файла исчезла строка Frame rate mode, но fps пишет как положено - 23.976 (24000/1001) FPS.

    Всего записей: 611 | Зарегистр. 11-06-2003 | Отправлено: 02:00 15-01-2022
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 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