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

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

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

guru431

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


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

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

  • Всего записей: 64 | Зарегистр. 28-02-2007 | Отправлено: 17:23 21-11-2012 | Исправлено: nick7inc, 12:06 23-05-2022
    mithridat1



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

    Всего записей: 4561 | Зарегистр. 05-01-2006 | Отправлено: 14:20 06-08-2019
    LZAA

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
         Скачивание видео с web:
       ffmpeg -i "URL" -c copy video.ts
       При отключении сети ffmpeg сохраняет файл и завершает сессию. Можно ли сделать так, чтобы сессия не завершалась, и при возобнавлении подключения к сети ffmpeg продолжил скачивание и сохранение в тот же медиафайл?

    Всего записей: 1835 | Зарегистр. 09-01-2010 | Отправлено: 00:58 18-08-2019
    V0lt



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    LZAA
    Можно попробовать увеличить параметр rw_timeout до 2000000 (33 минуты), например.

    Цитата:
    rw_timeout
        Maximum time to wait for (network) read/write operations to complete, in microseconds.  

     
    Для протокола RTP используй параметр stimeout.

    Цитата:
    stimeout
        Set socket TCP I/O timeout in microseconds.

     
    Но что значит "отключение сети"?
    Мне всегда казалось, что если выдернуть провод или выключить адаптер в настройках винды, то все сессии отвалятся без вариантов.
    В любом случае сервер может отключить сессию по своему тайм-ауту.

    Всего записей: 9665 | Зарегистр. 05-02-2003 | Отправлено: 08:09 18-08-2019
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    LZAA,
    так дописывает?
    $ ffmpeg -i "URL" -c copy >>video.ts

    Всего записей: 5920 | Зарегистр. 08-09-2001 | Отправлено: 10:13 18-08-2019
    LZAA

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
                                  V0lt
        Да, "отключение сети" - это „выдернуть провод". Как себя поведёт сервер в этой ситуации это надо ещё проверять. Для начала надо добиться того, что бы сам FFmpeg слал запросы „до бесконечности". Какое максимальное значение для rw_timeout можно назначить? Может ли оно быть неограниченным?

    Всего записей: 1835 | Зарегистр. 09-01-2010 | Отправлено: 12:55 18-08-2019
    V0lt



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    LZAA
    Цитата:
    Какое максимальное значение для rw_timeout можно назначить?

    Для разных протоколов разные лимиты. Получается максимум INT_MAX = 2^31. Но лучше оставить запас. Значение 2000000 самое то. Я сильно сомневаюсь, что у серверов время ожидания десятками минут исчисляется.

    Цитата:
    Для начала надо добиться того, что бы сам FFmpeg слал запросы „до бесконечности".

    А сколько сейчас попыток делается?

    Всего записей: 9665 | Зарегистр. 05-02-2003 | Отправлено: 13:23 18-08-2019
    LZAA

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
          С rw_timeout я ещё не проверял. С обычной командой FFmpeg „закругляется" буквально через 1-1.5 минуты.

    Всего записей: 1835 | Зарегистр. 09-01-2010 | Отправлено: 14:20 18-08-2019
    LZAA

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
        ffmpeg -rw_timeout 2000000 -i "URL" -c copy video.ts
        Тот же результат: при отключении сети FFmpeg „закругляется" через 1-1.5 минуты.
         Какой ещё аргумент можно попробовать?

    Всего записей: 1835 | Зарегистр. 09-01-2010 | Отправлено: 18:07 18-08-2019
    V0lt



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    LZAA
    Лог FFmpeg с ошибками выложи.

    Всего записей: 9665 | Зарегистр. 05-02-2003 | Отправлено: 18:57 18-08-2019
    LZAA

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
          https://mega.nz/#!MPwiRSBL!Ugad2abHSwsci7oL5hTSojFIB0uLJ6gB0zc1tbiqsjM
      Не знаю, ошибки ли это. Если отключить доступ к сети, то FFmpeg завершает сессию с любыми аргументами.
     
    Добавлено:
                               los
         ffmpeg -i "URL" -c copy >>video.ts вообще не скачивает.  

    Всего записей: 1835 | Зарегистр. 09-01-2010 | Отправлено: 20:37 18-08-2019
    V0lt



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    LZAA
    У тебя там HLS с Ютуба. Сам HLS уже непростой, а у тебя еще в URL к index.m3u8 закодировано куча информации, включая IP-адрес, который после включения-выключения сети может поменяться.
    Я сомневаюсь, что в данном случае, работая лишь с index.m3u8, вообще возможно продолжить качать после отключения-включения сети.
    Если только спец. проги использовать, которые будут заново парсить исходную страницу и вытаскивать новый URL к index.m3u8.

    Всего записей: 9665 | Зарегистр. 05-02-2003 | Отправлено: 05:41 21-08-2019
    LZAA

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
                                    V0lt
          Вопрос с возобновлением закачки после переподключения  соединения с сетью решён.
         Сейчас вопрос звучит так: начинаем скачивание -> отключаем доступ к сети -> FFmpeg финиширует сессию с сохранением медиафайла -> как сделать, чтобы не финишировал?

    Всего записей: 1835 | Зарегистр. 09-01-2010 | Отправлено: 10:51 21-08-2019
    Sisin



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Приветствую. Хотел перекодировать несколько фильмов в HEVC. На другом форуме подсказали ключи. Все сделал, но возникли вопросы.
     
    Вот мой батник:
    Код:

    Код:
    @echo ON
    md fix
    for %%a in (*.mkv) do (
    ffmpeg -i "%%~a" ^
    -c:v libx265 ^
    -preset slower ^
    -x265-params profile=main10:level-idc=4.1:level=4.1:crf=24:ref=5:aq-mode=2:no-cutree:^
    aq-strength=1.0:deblock=-3:-3:no-sao:max-merge=5:psy-rd=2.00:psy-rdoq=1.00:rd=6:rect:^
    amp:qcomp=0.70:vbv-maxrate=50000:vbv-bufsize=50000:subme=7:rc-lookahead=60:min-keyint^
    =23:keyint=240:tu-intra-depth=4:tu-inter-depth=4:no-strong-intra-smoothing:lookahead-^
    slices=4:no-fast-intra:rdoq-level=2:aq-motion ^
    -c:a copy "fix\%%~na.mkv"
    )
    exit

     
    Скачал единственный доступный в сети BDRemux Принц Персии. Пески времени. После удаления дорожек осталось 15 Гб. Начал перегонять, в итоге получилось 1,7 Гб, а ключи profile=main10:level-idc=4.1:level=4.1 не сработали. Main 10 не показывается в подробностях, а level показывается 4.0.
     
    Подскажите, пожалуйста, в чем ошибка и что я не знаю??? Как исправить??
     
    Может есть еще какой-то форум по данной тематике?

    Всего записей: 943 | Зарегистр. 07-05-2010 | Отправлено: 13:53 21-08-2019
    LZAA

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
         http://forum.ru-board.com/topic.cgi?forum=5&topic=22384&start=0

    Всего записей: 1835 | Зарегистр. 09-01-2010 | Отправлено: 14:10 21-08-2019
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Sisin,
    $ ffmpeg -i in.mp4 -pix_fmt yuv420p10le -profile:v main10 -c:v libx265 out.mp4
    $ mediainfo out.mp4
    Format profile                           : Main 10@L2@Main
     
    $ ffmpeg -i in.mp4 -profile:v main10 -c:v libx265 out.mp4
    $ mediainfo out.mp4
    Format profile                           : Main@L2@Main

    Всего записей: 5920 | Зарегистр. 08-09-2001 | Отправлено: 14:59 21-08-2019
    Sisin



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    А как правильно зафиксировать level=4.1??

    Всего записей: 943 | Зарегистр. 07-05-2010 | Отправлено: 16:05 21-08-2019
    los

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

    Цитата:
    А как правильно зафиксировать level=4.1??

    $ ffmpeg -i in.mp4 -pix_fmt yuv420p10le -profile:v main10 -c:v libx265 -x265-params level=4.1 out.mp4
    $ mediainfo out.mp4
    Format profile                           : Main 10@L4.1@High

    Всего записей: 5920 | Зарегистр. 08-09-2001 | Отправлено: 17:34 21-08-2019
    Sisin



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Оказалось не все так просто.
     
    Когда стоят no-fast-intra и aq-motion, то level становится 4.0, даже если установлено 4.1.
    Если убрать aq-motion, то без него не распознаются ключи no-cutree, no-sao, amp, no-strong-intra-smoothing.
     

    Всего записей: 943 | Зарегистр. 07-05-2010 | Отправлено: 22:48 21-08-2019 | Исправлено: Sisin, 00:07 22-08-2019
    bbcby

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Можно ли уже готовый .264 смуксить в MKV именно через FFMPEG?
    Что-то не получается, выдается ошибка:

    Код:
    [matroska @ 062b4f80] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
    [matroska @ 062b4f80] Can't write packet with unknown timestamp
    av_interleaved_write_frame(): Invalid argument

     
    ffmpeg -i video.264 -vcodec copy video.mkv

    Всего записей: 585 | Зарегистр. 11-06-2003 | Отправлено: 00:51 04-09-2019
    ktiran86

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

    Цитата:
    Можно ли уже готовый .264 смуксить в MKV именно через FFMPEG?  

    добавь -fflags +genpts

    Всего записей: 19 | Зарегистр. 11-12-2018 | Отправлено: 14:05 04-09-2019
    Открыть новую тему     Написать ответ в эту тему

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

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


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

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.Board
    © Ru.Board 2000-2020

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru