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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133

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

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. Тема, посвященная сборкам ffmpeg/ffprobe, работающих под Windows XP.
    Сборки:
    От Gianluigi Tiesi
    От Reino Wijnsma
    Static builds by Kyle Schwarz (последний для WinXP ffmpeg-3.0-win32-static.7z).
     
    GUI под WinXP (ffqueue, WinFF, Video converter).
     
    Сборки для Windows 7
     
    Запуск офф. сборок 7.0.1 и более новых на Windows 7  
     
    Список различных сборок.
     
    Архив старых версий ffmpeg на VideoHelp
     
    По общим вопросам написания командных файлов есть отдельная тема "Командная строка, батники, сценарии - bat, cmd".

  • Всего записей: 67 | Зарегистр. 28-02-2007 | Отправлено: 17:23 21-11-2012 | Исправлено: 351878, 19:40 15-09-2025
    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
     

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


    Всего записей: 7964 | Зарегистр. 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 и все последующие.
    Оффтопик? Но не знаю, куда...

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

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

    Всего записей: 382 | Зарегистр. 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 учитываются. как правильно сделать?

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



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

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

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



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

    Всего записей: 11268 | Зарегистр. 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', но так не работает.

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

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

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

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

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

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



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

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

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

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

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

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



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

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

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

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

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

    Всего записей: 11268 | Зарегистр. 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'. Он всё видит в обоих контейнерах и дорожки может переключать.
          Таким образом можно сказать, что желаемый результат получен.

    Всего записей: 2624 | Зарегистр. 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 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133

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


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

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2025

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru