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

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



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

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

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

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



    Platinum 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.

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

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

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

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

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

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



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

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

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

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

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

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

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

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

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



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

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

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

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



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

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

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

    Всего записей: 2200 | Зарегистр. 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.
     
    Подскажите, пожалуйста, в чем ошибка и что я не знаю??? Как исправить??
     
    Может есть еще какой-то форум по данной тематике?

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

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

    Всего записей: 2200 | Зарегистр. 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

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



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

    Всего записей: 993 | Зарегистр. 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

    Всего записей: 7322 | Зарегистр. 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.
     

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

    Advanced 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

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

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

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

    добавь -fflags +genpts

    Всего записей: 23 | Зарегистр. 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 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