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

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

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

    Код:
    # cat mingw64/lib/pkgconfig/fontconfig.pc
    #Libs.private: -L${libdir} -liconv
    Libs.private: -L${libdir} -liconv -lz
     
    # cat mingw64/lib/pkgconfig/freetype2.pc
    #Libs.private: -lbz2
    Libs.private: -lbz2 -liconv -lz
     
    #Libs.private: -lbz2
    Libs.private: -lbz2 -liconv -lz  

     
    Здесь без изменений, как и вчера.

    Код:
     
    D:/msys64/tmp/ffconf.kMpIICxv/test.c:3:34: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
        3 | long check_FcInit(void) { return (long) FcInit; }
          |                                  ^
    gcc -static -Wl,--nxcompat,--dynamicbase -Wl,--high-entropy-va -Wl,--as-needed -Wl,--pic-executable,-e,mainCRTStartup -Wl,--image-base,0x140000000 -ID:/msys64/mingw64/include/freetype2 -ID:/msys64/mingw64/include/libpng16 -ID:/msys64/mingw64/include/harfbuzz -ID:/msys64/mingw64/include/glib-2.0 -ID:/msys64/mingw64/lib/glib-2.0/include -o /tmp/ffconf.kMpIICxv/test.exe /tmp/ffconf.kMpIICxv/test.o -lfontconfig -liconv -lz -lbz2 -liconv -lz -lpng16 -lm -lm -lz -lharfbuzz -lm -lusp10 -lgdi32 -lrpcrt4 -lz -lfreetype -lbz2 -liconv -lz -lglib-2.0 -lintl -lws2_32 -lole32 -lwinmm -lshlwapi -luuid -lm -lpcre2-8 -lgraphite2 -lbrotlidec -lbrotlicommon -lexpat -lm
    D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libfreetype.a(src_sfnt_sfnt.c.obj).text+0x684d): undefined reference to `png_create_read_struct'
    ....
    D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: D:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../lib\libintl.a(relocatable.o).text+0x44): undefined reference to `libiconv_set_relocation_prefix'
    collect2.exe: error: ld returned 1 exit status
    ERROR: fontconfig not found using pkg-config
     

    Всего записей: 354 | Зарегистр. 19-04-2003 | Отправлено: 16:05 06-12-2023
    los

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

    Цитата:
    undefined reference to `png_create_read_struct'

    добавить -lpng
     

    Цитата:
    undefined reference to `libiconv_set_relocation_prefix'

    -liconv
     
    Из freetype2.pc, у вас может быть без brotli, libintl при сборке не использовалась.

    Цитата:
    Requires.private: zlib, libbrotlidec
    Libs: -L${libdir} -lfreetype
    Libs.private: -lbz2 -lpng16 -lz

     
    Из freetype.la

    Цитата:
    # Libraries that this one depends upon.
    dependency_libs=' -lz -lbz2 -lpng16 -lbrotlidec -lpthread'


    Всего записей: 7336 | Зарегистр. 08-09-2001 | Отправлено: 16:22 06-12-2023 | Исправлено: los, 16:22 06-12-2023
    Alex_Piggy

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

    Цитата:
    Здесь без изменений, как и вчера.

    Не совсем. -lz сработало.

    Цитата:
    undefined reference to `png_create_read_struct'

    В mingw64/lib/pkgconfig/freetype2.pc в Libs.private добавьте "-lpng16" перед "-lz"
    UPD: lpng, lpng8 или lpng16 - вот в чем вопрос. Начать с lpng16

    Цитата:
    undefined reference to `libiconv_set_relocation_prefix'

    "-lintl" почти в самом конце... Не уверен.
    Я не помню, как сделано в ffmpeg configure. Варианты:
    1. Отключить libintl (локализацию), i18n или как оно называется.
    2. Поискать mingw64/lib/pkgconfig/intl.pc и там добавить "-liconv -lz" в Libs/Libs.private
    3. Задать переменную LDFLAGS="-liconv -lz". Если добавит в конец - то туда сыпать все - и -lpng16 и все последующие.
    Оффтопик? Но не знаю, куда...

    Всего записей: 1891 | Зарегистр. 07-08-2002 | Отправлено: 16:25 06-12-2023 | Исправлено: Alex_Piggy, 16:27 06-12-2023
    los

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

    Цитата:
    UPD: lpng, lpng8 или lpng16 - вот в чем вопрос. Начать с lpng16

    lpng - это symlink lpng16

    Всего записей: 7336 | Зарегистр. 08-09-2001 | Отправлено: 16:32 06-12-2023
    digital422

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    libpng16-16.dll - похоже все таки lpng16.
    Все, я его (static) победил. Возможно какие-то опции лишние, но exe собрался. pc файлы вернул на место, без -lz. Спасибо всем за помощь!!!

    Код:
     
    --enable-static \
    --enable-libfreetype \
    --enable-libfontconfig \
    --extra-ldflags='-static' \
    --enable-zlib \
    --extra-libs="-lpthread -lfontconfig -lexpat -lfreetype -lharfbuzz -lharfbuzz -lusp10 -lgdi32 \
    -lrpcrt4 -lpng16 -liconv -lgraphite2 -lfribidi -lbz2 -llzma -lstdc++ -lz -lm"
     

    Всего записей: 354 | Зарегистр. 19-04-2003 | Отправлено: 17:09 06-12-2023 | Исправлено: digital422, 20:09 06-12-2023
    Galaxoid



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Использую батник для работы с FFMPEG. У моего процессора 4 ядер, 8 потоков. Хочу использовать только 6 потоков. Пишу вот так:
     
    "start /affinity 3F C:\ffmpeg.exe"
     
    запускается отдельное от cmd окно для ffmpeg, не срабатывает pause с логом кодирования из батника, и нет уверенности что все команды из ffmpeg учитываются. как правильно сделать?

    Всего записей: 141 | Зарегистр. 03-10-2021 | Отправлено: 23:39 12-12-2023 | Исправлено: Galaxoid, 01:11 13-12-2023
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Galaxoid
    Создайте отдельный батник для команды FFmpeg и запускайте его из другого батника со START и прочим.

    Всего записей: 10506 | Зарегистр. 05-02-2003 | Отправлено: 06:27 13-12-2023
    Galaxoid



    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    V0lt
    получается cmd сам для себя в текущем процессе не может создать команды и нужен отдельный cmd? насколько я понял.
     
    вообще у меня такой рабочий  батник:
     
    "FOR %%F IN (*.mp4) DO (
    C:\ffmpeg.exe -benchmark -i "%%~dpnxF.avs" -i "%%~dpnxF" -map 0:v:0 -map 1:a:0 -c:v libx264 -c:a copy "%%~dpnF_new.mp4"
    del "%%~dpnxF.avs"
    )
    pause"
     
    я этот файл перемещаю в разные папки с видео. значит нужно будет перемещать два файла?
     
    какие-то решения еще могут быть, чтобы ограничить ядра для кодирования?

    Всего записей: 141 | Зарегистр. 03-10-2021 | Отправлено: 18:29 13-12-2023
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Galaxoid
    Попробуйте опцию "-threads".

    Всего записей: 10506 | Зарегистр. 05-02-2003 | Отправлено: 19:15 13-12-2023 | Исправлено: V0lt, 19:18 13-12-2023
    LZAA

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
        Use FFmpeg to add subtitles to video.
     
      1. ffmpeg -i input.mp4 -f srt -i input.srt -map 0:0 -map 0:1 -map 1:0 -c:v copy -c:a copy -c:s mov_text output.mp4
     
      2. ffmpeg -i input.mp4 -f srt -i input.srt -map 0:0 -map 0:1 -map 1:0 -c:v copy -c:a copy -c:s srt output.mkv
     
         Вопрос: можно ли скачать video+audio+subtitle из сети 'за раз' и объединить эти три потока 'на лету', то есть сделать всё это одной командой?
         Я пробовал вместо '-i input.srt' использовать '-i URL', но так не работает.

    Всего записей: 2218 | Зарегистр. 09-01-2010 | Отправлено: 03:37 18-12-2023 | Исправлено: LZAA, 23:53 25-12-2023
    bbcby

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, можно пропатчить название языка аудио дорожки без перемукса, файл MP4?
    Например с English на Russian, или вообще чтобы не было название языка.

    Всего записей: 615 | Зарегистр. 11-06-2003 | Отправлено: 14:33 04-01-2024 | Исправлено: bbcby, 14:33 04-01-2024
    LZAA

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

        Если звуковая дорожка одна:
     
       ffmpeg -i 1.mp4 -metadata:s:a:0 language=rus -c copy 2.mp4
     
       'Без языка' ->     language=""

    Всего записей: 2218 | Зарегистр. 09-01-2010 | Отправлено: 01:18 05-01-2024
    bbcby

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Да, спасибо. Я понимаю, через копию можно, я по живому хотел. Без создания копии, например как в MKV, без перемукса.

    Всего записей: 615 | Зарегистр. 11-06-2003 | Отправлено: 02:49 05-01-2024
    V0lt



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

    Цитата:
    я по живому хотел. Без создания копии

    FFmpeg такое не делает.

    Всего записей: 10506 | Зарегистр. 05-02-2003 | Отправлено: 08:12 05-01-2024
    LZAA

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
           Есть медиафайлы с встроенными субтитрами 'cc' EIA-608.
       Я нашёл только два player, которые их отображают. Это 'VLC' и 'mpv'. Но 'mpv' такие субтитры в файле '.ts' не отображает. Также я не смог сделать так, чтобы 'mpv' показывал субтитры для разных языков. Вопрос: есть ли кроме 'VLC' ещё Media Players, которые могут показывать все дорожки 'cc'?

    Всего записей: 2218 | Зарегистр. 09-01-2010 | Отправлено: 03:04 16-01-2024
    V0lt



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

    Всего записей: 10506 | Зарегистр. 05-02-2003 | Отправлено: 06:40 16-01-2024
    LZAA

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
      'cc' - 'closed captions' - довольно известная (в узких кругах) аббревиатура.
       https://en.wikipedia.org/wiki/EIA-608
       Широкая же публика нередко может видеть кнопку 'cc' в web player.

    Всего записей: 2218 | Зарегистр. 09-01-2010 | Отправлено: 12:35 16-01-2024 | Исправлено: LZAA, 13:12 16-01-2024
    LZAA

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
                 Ещё такой вопрос.
       'cc' EIA-608 в контнейнере 'MP4' можно удалить таким образом:
     
       ffmpeg -i video-cc.mp4 -c copy -bsf:v "filter_units=remove_types=6" video.mp4
     
       Какой командой это можно сделать для контейнера 'MPEG-TS'?
     
     

    Всего записей: 2218 | Зарегистр. 09-01-2010 | Отправлено: 16:04 16-01-2024
    V0lt



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

    Цитата:
      'cc' - 'closed captions' - довольно известная (в узких кругах) аббревиатура.
       https://en.wikipedia.org/wiki/EIA-608

    Я не просил ссылки на Википедию.
     

    Цитата:
    Вопрос: есть ли кроме 'VLC' ещё Media Players, которые могут показывать все дорожки 'cc'?

    Вообще-то Closed captioning может быть в куче разных форматах, и соответственно его поддерживают разные плееры. Если речь исключительно про EIA-608 в MPEG-TS, то - JRiver Media Center.

    Всего записей: 10506 | Зарегистр. 05-02-2003 | Отправлено: 18:12 16-01-2024
    LZAA

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
           Меня интересует инструмент, отображающий скрытые субтитры EIA-608 в любом контейнере.
           Проверил 'JRiver Media Center'.
           В контейнере 'MP4' он видит все дорожки EIA-608 и позволяет их выбирать. Но в контейнере 'MPEG-TS' он скрытые субтитры EIA-608 не видит.
           Мне удалось активировать отображение скрытых субтитров EIA-608 в 'Pot Player'. Он всё видит в обоих контейнерах и дорожки может переключать.
          Таким образом можно сказать, что желаемый результат получен.

    Всего записей: 2218 | Зарегистр. 09-01-2010 | Отправлено: 23:06 16-01-2024 | Исправлено: LZAA, 23:08 16-01-2024
    Открыть новую тему     Написать ответ в эту тему

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