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

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

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

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
    greeple

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Goodwin7
    ничего не подскажу, но ffmpeg даже последние версии (не знаю новая это проблема или всегда была) проблемно качает допустим аудио с вк вот вчера заметил youtube-dl | yt-dlp может у тебя с тем что ты качаешь тоже проблемы именно в ffmpeg, но это надо выяснять, а это долго и муторно

    Всего записей: 4150 | Зарегистр. 11-02-2020 | Отправлено: 20:07 11-01-2023
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Goodwin7, сохраните все сегменты. Проверьте одинаковый ли у них размер изображения и т.п. Соберите из них файл *.ts затем перапакуйте его в *.mp4. Возможно что-то не так с контейнерами.
    Попробуйте использовать tsMuxer

    Всего записей: 7334 | Зарегистр. 08-09-2001 | Отправлено: 10:10 12-01-2023
    Goodwin7



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    los
    а разве сегменты это не чистый raw или даже вообще часть видео без каких либо данных определяющих что это за данные вообще?

    Цитата:
    что-то не так с контейнерами
    ну а браузер то всё воспроизводит.
    попробую.  
    Как считаете а может попробовать использовать FFmpeg  этак десятилетней давности, смутно припоминаю но сдаётся что давно попадались такие файлы на которые  на то время последняя версия FFmpeg плевалась а более старая всё сделала сразу, хотя это могло быть связано с изменёнными параметрами командной строки.

    Всего записей: 70 | Зарегистр. 10-12-2022 | Отправлено: 00:54 13-01-2023 | Исправлено: Goodwin7, 03:58 13-01-2023
    los

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

    Цитата:
    а разве сегменты это не чистый raw или даже вообще часть видео без каких либо данных определяющих что это за данные вообще?

    нет.

    Цитата:
    Как считаете а может попробовать использовать FFmpeg  этак десятилетней давности

    Для начала попробуйте проверить сегменты.

    Всего записей: 7334 | Зарегистр. 08-09-2001 | Отправлено: 14:21 13-01-2023
    neorion

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    После кривого скачивания (склеивания) расширениями для скачивания типа VideoDownload Helper, исправить косяки мне помог такой способ:
    Допустим есть mp4. Перепаковал в mkv с помощью mkvtoolnix. Потом этот mkv в ts с помощью tsmuxer (все нестандартности ушли, tsmuxer их отбрасывает, правда может появиться рассинхрон). Потом ts обратно в mkv с помощью mkvtoolnix.
    Т.е. mp4 > mkv > ts > mkv.

    Всего записей: 448 | Зарегистр. 02-10-2022 | Отправлено: 21:16 13-01-2023
    Goodwin7



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

    Цитата:
    файлы не секретные? Можете выложить? Исходные и полученный результат.  
    вот мелкая серия Ссылка
    старые FFmpeg вообще не могут склеить если его использует расширение.
     
    кстати ни одна из строк почему-то не находит файлы
    -f concat -i <(for f in ./*.mp4; do echo "file '$PWD/$f'"; done) -c copy output.mp4
    -f concat -i <(printf "file '$PWD/%s'\n" ./*.mp4) -c copy output.mp4
    -f concat -i <(find . -name '*.mp4' -printf "file '$PWD/%p'\n") -c copy output.mp4
    -f concat -safe 0 -i <(for f in *.mp4; do echo "file '$PWD/$f'"; done) -c copy output.mp4
     
    чядн? Пробелов в путях нет, буквы все латин. расширения у фрагментов было изменяно на mp4

    Всего записей: 70 | Зарегистр. 10-12-2022 | Отправлено: 22:18 15-01-2023 | Исправлено: Goodwin7, 23:11 15-01-2023
    los

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

    Цитата:
    вот мелкая серия Ссылка

    обратите внимание на сегмент 27.

    Цитата:
    чядн?

    не знаю, у вас какая ОС? Если вы используете gnu find там для printf есть параметр %f
    с ним выводится имя файла и использовать pwd не нужно т.е.  команда
    find . -type f -name '*.mp4' -printf "file '%f'\\n"
    К чему беспокойство об именах, расширениях и пробелах мне не ясно. И если уж затронута тема расширений, то у сегментов они должны быть .ts т.к. это файлы mpeg-ts.
    _https://pixeldrain.com/u/p7qeeYEf
     
     
     

    Всего записей: 7334 | Зарегистр. 08-09-2001 | Отправлено: 11:01 16-01-2023
    Goodwin7



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

    ну и что это значит, что он битый , так тогда выходит что последние всегда битые и что тогда делать ?

    Цитата:
    у вас какая ОС
    в данный момент xp, или вы имеете ввиду что строка для линукса ?  

    Цитата:
    Если вы используете gnu find
    это что ?  
    если чё то  
    ffmpeg version N-109535-gfcd557a-Reino Copyright (c) 2000-2023 the FFmpeg developers
      built with gcc 10.4.0 (GCC)
     
    Ну А Так какую тогда строку применять если винда32 ?  интерес чисто теоретический, потому как не я клею а расширение. Задача стоит чтобы с помощью FFmpeg исправить уже готовый (склеенный расширением) файл.
    Но так уже понимаю что всесильный FFmpeg такого не может )

    Цитата:
    К чему беспокойство об именах
    это на тот случай если вы решите что что-то в путях не то.

    Цитата:
    расширений, то у сегментов
    выложил так как удалось перехватить, оно так скачивается и удаляется сразу после склейки, так что пришлось повозится чтоб эти сегменты скопировать.

    Цитата:
    _https://pixeldrain.com/u/p7qeeYEf  
    и что значит содержимое архива ? )

    Всего записей: 70 | Зарегистр. 10-12-2022 | Отправлено: 19:29 16-01-2023 | Исправлено: Goodwin7, 19:53 16-01-2023
    greeple

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    los
    тебе же уже писали про ссылки, зачем ты _ перед ссылками добавляешь?

    Всего записей: 4150 | Зарегистр. 11-02-2020 | Отправлено: 19:33 16-01-2023
    los

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

    Цитата:
    ну и что это значит, что он битый , так тогда выходит что последние всегда битые и что тогда делать ?

    В вашем изначальном сообщении было про разный размер изображения и вам был дан совет проверять сегменты. Случай с сегментом 27 похож, но подходит для иллюстрации проверки.

    Цитата:
    или вы имеете ввиду что строка для линукса ?  

    Так и есть - это команды для линукс.
     

    Цитата:
    Задача стоит чтобы с помощью FFmpeg исправить уже готовый (склеенный расширением) файл.  
    Но так уже понимаю что всесильный FFmpeg такого не может )  

    ffmpeg может только то что он может И если вы(расширение которое вы используете) собирает сегменты с разным размером изображения - это не проблема ffmpeg.
     

    Цитата:
    и что значит содержимое архива ? )  

    собранный из ваших сегментов *.mp4 который вы можете проверить на предмет проблем проявлявшихся в ваших *.mp4.

    Всего записей: 7334 | Зарегистр. 08-09-2001 | Отправлено: 22:19 16-01-2023
    Goodwin7



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

    Цитата:
    собранный из ваших сегментов *.mp4 который вы можете проверить на предмет проблем проявлявшихся в ваших *.mp4.
    так там вообще каша, не будем брать то что фрагменты не по порядку но фпс так  переменный и остался, плюс при перемотке артефакты, которых нет в файле собранном расширением..  
     
    И самое главное, так что делать ? , браузер нормально воспроизводит последний, тем более частота кадров переменная во всех, а в оригинале она постоянная.
    Что единственный вариант это подбирать метод исправления индивидуально к каждому файлу ?  
    Или так как говорит neorion  mp4 > mkv > ts > mkv.  
    Там серий много, мне вообще то через батник надо всё автоматизировать.
     

    Цитата:
    собирает сегменты с разным размером изображения - это не проблема ffmpeg.  

    В оригинальном файле который выдаёт сервер не сомневаюсь что один размер везде и постоянная частото кадров, вероятно или FFmpeg косячит или как-то скачка последнего неправильно происходит. Была предполоджение что можно всё же как-то по быстрому пересобрать через "волшебную командную строку" .

    Всего записей: 70 | Зарегистр. 10-12-2022 | Отправлено: 22:58 16-01-2023 | Исправлено: Goodwin7, 23:07 16-01-2023
    LZAA

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
                                       Goodwin7
       Зачем мучить 'FFmpeg', себя, (и всех остальных)?
       Плясать надо от печки. Покажите, какой контент Вы пытаетесь сохранить. При 'правильном' скачивании получится рабочий файл, который не надо будет 'лечить'.

    Всего записей: 2212 | Зарегистр. 09-01-2010 | Отправлено: 19:00 17-01-2023
    LZAA

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
           Есть медиафайл в контейнере 'mkv' с двумя дорожками субтитров.
          Команда:
     
       ffmpeg -i input.mkv -c:a copy -c:v copy -start_number 0 -hls_time 10 -hls_list_size 0 -f hls fname.m3u8
     
         Создаётся 'playlist m3u8' только с одной дорожкой субтитров в формате 'vtt'.
         Вопросы:
        1. Можно ли создать с двумя дорожками субтитров?
        2. Может ли 'FFmpeg' при проведении этого преобразования создать субтитры в формате 'srt'?

    Всего записей: 2212 | Зарегистр. 09-01-2010 | Отправлено: 13:55 19-01-2023 | Исправлено: LZAA, 13:56 19-01-2023
    neorion

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    LZAA
    Например, так -scodec srt -map 0
    Правда, это и все звуковые дорожки включит.
     
    Или можно указать конкретные дорожки -map 0:2 -map 0:3
    Где 0:2 - первый файл, третья дорожка, 0:3 - первый файл, четвертая дорожка
    Их номера видно в выводе ffmpeg.

    Всего записей: 448 | Зарегистр. 02-10-2022 | Отправлено: 16:54 19-01-2023
    LZAA

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
                                      neorion
          Так не работает.
          Посмотрите, пожалуйста, это: https://mega.nz/file/JOJWAbqT#gaDspklDINhITSWrivZPNsc6TVIeBNyhH60cTT3Ss8Y
          Если получится, то дайте, пожалуйста, код полностью.

    Всего записей: 2212 | Зарегистр. 09-01-2010 | Отправлено: 19:05 19-01-2023 | Исправлено: LZAA, 19:06 19-01-2023
    los

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

    Цитата:
    2. Может ли 'FFmpeg' при проведении этого преобразования создать субтитры в формате 'srt'?

    Сомнительно ибо речь о hls, а там

    Цитата:
    5.2. * Subtitles MUST be WebVTT (according to the HLS specification) or IMSC1 in fMP4.

    Всего записей: 7334 | Зарегистр. 08-09-2001 | Отправлено: 19:45 19-01-2023
    LZAA

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
                                       los
         OK. С 'srt' разобрались.
         Теперь ещё с двумя дорожками субтитров осталось разобраться. Если 'FFmpeg' этого не может - не беда. Буду знать.

    Всего записей: 2212 | Зарегистр. 09-01-2010 | Отправлено: 22:07 19-01-2023
    neorion

    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    LZAA
    Если -map 0 не помогает, то наверное нельзя.

    Всего записей: 448 | Зарегистр. 02-10-2022 | Отправлено: 15:48 20-01-2023
    skuwakin

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброго времени суток. Тока не пинайте сильно ногами... Подскажите плиз какие ключики надо добавить в строку запуска ffmpeg чтобы уменьшить вероятность обрывов тупого чтения потока из сети и без всяких перекодировок отдавать его vlc. Потому что vlc читает такие потоки просто безобразно.. Ну либо я не умею его настраивать...

    Всего записей: 227 | Зарегистр. 17-03-2005 | Отправлено: 12:06 07-02-2023
    mithridat1



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

    Цитата:
    Подскажите плиз какие ключики надо добавить в строку запуска ffmpeg чтобы уменьшить вероятность обрывов тупого чтения потока из сети и без всяких перекодировок отдавать его vlc

    Это все индивидуально настраивается для каждого стрима. Если поток принимается нестабильно, с периодическими лагами, то стабилизировать прием может помочь задание размера буфера, например, -bufsize 3M (но чем больше буфер то больше задержка при ретрансляции). Также я обычно добавлял параметр -re для приема в реальном времени, на онлайн-трансляциях это рекомендовано.
     
    Еще можно попробовать добавлять опции
     
    -reconnect 1 -reconnect_at_eof 1 -reconnect_streamed 1 -reconnect_delay_max 2
     
    Сам не проверял, но пишут что если прерывание длится более 4 секунд то ffmpeg всегда обрывает сессии.
     
    В общем же случае надо делать скрипт который будет перезапускать ffmpeg в случае обрыва соединения. Ну и важно по какому протоколу вы принимаете стрим, есть параметры специфичные для типа потока.

    Всего записей: 4939 | Зарегистр. 05-01-2006 | Отправлено: 15:25 07-02-2023 | Исправлено: mithridat1, 15:28 07-02-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 97 98

    Компьютерный форум 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