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

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

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Возможен скрипт для изображения c любым именем, но лучше Cover. Это задаст тип тега - Cover art.

    Код:
    @echo off
    set "FFmpeg=d:\Software\Multimedia\Edit\FFmpeg\FFmpeg -hide_banner" :Или добавить FFmpeg в переменную %Path%.
    %FFmpeg% -i %1 -i "%~dp1Cover.jpg" -c copy -disposition:v:1 attached_pic "%~dpn1+cover.mp4"
    pause

    Всего записей: 120 | Зарегистр. 05-01-2021 | Отправлено: 12:29 26-09-2023
    ewild

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

    Код:
    set "ffmpeg=D:\ffmpeg\bin"
    path %path%;%ffmpeg%
    ffmpeg -i "%1" -i "thumbnail.jpg" -map 1 -map 0 -c copy -disposition:0 attached_pic "%1.mp4"
    pause


    Всего записей: 1219 | Зарегистр. 13-08-2005 | Отправлено: 12:36 26-09-2023 | Исправлено: ewild, 12:37 26-09-2023
    vaskamy



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ewild
    Ваш скрипт работает.  
    Я его вот так нарисовал:

    Код:
    set "ffmpeg=D:\ffmpeg\bin"
    path %path%;%ffmpeg%
    ffmpeg -i "%1" -i "Cover.jpg" -map 1 -map 0 -c copy -disposition:0 attached_pic "%1.mp4"
    pause

     
    MMasutin
    Ни в какую ни хочет работать.
    Я его вот так пробовал:

    Код:
    set "ffmpeg=D:\ffmpeg\bin"
    path %path%;%ffmpeg%
    %FFmpeg% -i %1 -i "%~dp1Cover.jpg" -c copy -disposition:v:1 attached_pic "%~dpn1+cover.mp4"
    pause
     
    Какие будут предложения исправления? нужно чтоб ваш то же начал работать.

    Всего записей: 1081 | Зарегистр. 04-03-2017 | Отправлено: 17:18 26-09-2023 | Исправлено: vaskamy, 17:21 26-09-2023
    ewild

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

    Цитата:
    set "ffmpeg=D:\ffmpeg\bin"
    path %path%;%ffmpeg%
    %FFmpeg% -i

     

    Код:
    set "ffmpeg=D:\ffmpeg\bin"
    path %path%;%ffmpeg%
    ffmpeg -i


    Всего записей: 1219 | Зарегистр. 13-08-2005 | Отправлено: 17:42 26-09-2023
    vaskamy



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

    Цитата:
    set "ffmpeg=D:\ffmpeg\bin"
    path %path%;%ffmpeg%
    ffmpeg -i

    Я такой вариант уже пробовал, вот:

    Код:
    @echo off
    set "ffmpeg=D:\ffmpeg\bin"
    path %path%;%ffmpeg%
    ffmpeg -i %1 -i "%~dp1Cover.jpg" -c copy -disposition:v:1 attached_pic "%~dpn1+cover.mp4"
    pause

    Создаётся рядом видео файл но без обложки.

    Всего записей: 1081 | Зарегистр. 04-03-2017 | Отправлено: 17:58 26-09-2023
    ewild

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

    Код:
    @echo off
    set "ffmpeg=D:\ffmpeg\bin"
    path %path%;%ffmpeg%
    ffmpeg -i %1 -i "%~dp1cover.jpg" -map 0 -map 1 -c copy -c:v:1 mjpeg -disposition:v:1 attached_pic "%~dpn1_cover.mp4"
    pause

     
    NB https://ffmpeg.org/ffmpeg.html

    Цитата:
    To add an embedded cover/thumbnail:
    ffmpeg -i in.mp4 -i IMAGE -map 0 -map 1 -c copy -c:v:1 png -disposition:v:1 attached_pic out.mp4
    Not all muxers support embedded thumbnails, and those who do, only support a few formats, like JPEG or PNG.

    Всего записей: 1219 | Зарегистр. 13-08-2005 | Отправлено: 20:51 26-09-2023 | Исправлено: ewild, 20:54 26-09-2023
    vaskamy



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

    Цитата:
    -i "Cover.jpg"
    кто нибудь знает какую суда переменную прописать чтоб использовать изображение с любым именем а не фиксированным.

    Всего записей: 1081 | Зарегистр. 04-03-2017 | Отправлено: 21:54 26-09-2023
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vaskamy
    Там почитайте -> Командная строка, батники, сценарии - bat, cmd

    Всего записей: 11270 | Зарегистр. 05-02-2003 | Отправлено: 22:00 26-09-2023
    MMasutin

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Для произвольного имени нужен поиск по типу файла: for %%F in (*.jpg) do echo %%F, поэтому файл этого типа должен быть в папке один. Если нет, задают имя главного файла (%~dpn1.jpg) или постоянное, напр. Cover.

    Всего записей: 120 | Зарегистр. 05-01-2021 | Отправлено: 19:04 27-09-2023
    vaskamy



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Два варианта - спасибо добрым людям.
    1.Simple Code
    Код:
    @echo off
    set "ffmpeg=D:\ffmpeg\bin"
    path %path%;%ffmpeg%
    for %%i in (%~dp0*.*) do (
        if /i "%%~xi"==".png" set "pic=%%~dpnxi"
        if /i "%%~xi"==".jpg" set "pic=%%~dpnxi"
    )
    ffmpeg -i "%1" -i "%pic%" -map 1 -map 0 -c copy -disposition:0 attached_pic -y "%1.mp4"
    pause

    2.virjokk
    Код:
    @echo off
    set "ffmpeg=D:\ffmpeg\bin"
    path %path%;%ffmpeg%
    for %%i in (*.png,*.jpg) do (set "pic=%%~dpnxi")
    ffmpeg -i "%1" -i "%pic%" -map 1 -map 0 -c copy -disposition:0 attached_pic -y "%1.mp4"
    pause

    Всего записей: 1081 | Зарегистр. 04-03-2017 | Отправлено: 19:15 27-09-2023 | Исправлено: vaskamy, 19:19 27-09-2023
    MMasutin

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    I. Можно ли задать -to %End2% так, чтобы применить к 0:a, не извлекая трек?

    Код:
    -to %End% -i %1 ^
    -to %End2% ^
    -to %End% -i "%~pn1.m4a" ^
    -map 0:v -map 1 -map 0:a

    II. Поправка: "Cover.jpg -disposition:0 attached_pic" не задаст тег Cover. Paботало для MP3. При добавлении к Video+Audio добавляет изображение как Video. Неясно, как добавить как тег в header. Для MKV проще через mkvpropedit из MKVToolNix: %1 --add-attachment "%~p1Cover.jpg". 3a секунду, т.к. запись только в оглавление.

    Всего записей: 120 | Зарегистр. 05-01-2021 | Отправлено: 23:53 27-09-2023
    skuwakin

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброго времени суток. Только не пинайте сильно ногами, вопрос странный... Возможно-ли реализовать на ffmpeg нечто подобное vlm из vlc ?  И если можно, то подскажите плиз, где про это можно почитать. Это полезно например для того, чтобы реализовать добавление потока в мозаику без перезапуска ffmpeg.

    Всего записей: 327 | Зарегистр. 17-03-2005 | Отправлено: 16:30 06-10-2023
    MMasutin

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Человек получил личную ссылку на стрим, хочет записать (webinar для личного пользования), но опасается потерять доступ, если раздающий следит за захватом раздач и может мешать этому.
    FFmpeg пишет стрим незаметно для источника? Если да, какой код позволит записать исходные потоки (-c copy)? Или, пожалуйста, подходящую ссылку на Wiki.

    Всего записей: 120 | Зарегистр. 05-01-2021 | Отправлено: 22:23 08-10-2023
    mithridat1



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    MMasutin
    Для копирования стрима в общем случае надо использовать те же заголовки HTTP что и браузер (или плеер сайта). Для этого надо изучить в браузере процесс получения ссылки на поток. Как правило имеют значения user-agent и referrer, но на сайтах с авторизацией обыкновенно используют и дополнительные заголовки вроде разнообразных токенов, они могут быть одноразовыми и короткоживущими. Также у плеера могут быть другие механизмы подтверждения своей аутентичности. В целом, задача может оказаться нетривиальной, сам по себе FFmpeg ее не решит.
     
    И если речь идет о вебинаре то там может быть множество стримов (например, включения камер других участников) и дополнительные потоки в виде презентаций, чатов. Воспроизвести все без потери целостности восприятия умеет только оригинальный плеер.

    Всего записей: 5181 | Зарегистр. 05-01-2006 | Отправлено: 07:07 09-10-2023 | Исправлено: mithridat1, 17:06 09-10-2023
    Ethereal999



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Народ, не подскажете по связке ShareX и сабжа?
    Мне нужно записать экран совместно с системными звуками и микрофоном. Это получилось сделать с помощью добавочной команды ("Additional command line arguments"):

    Код:
    -f dshow -i audio="Microphone (Display Audio)" -filter_complex amix=inputs=2:duration=longest

    Но звук с микрофона (или весь звук, отследить системный я не знаю как) имеет рассинхрон, бежит немного впереди видео. Я пытался избавится от рассинхрона, добавив такую команду:

    Код:
    -f dshow -i audio="Microphone (Display Audio)" -filter_complex "[2:a]asetpts=PTS+0.6/TB;[1:a][2:a]amix=inputs=2:duration=longest"

    Но в этом случае в видео попадает только дорога с микрофона ([2:a]). Если же попытаться добавить перед amix блоком еще и системный звук ([1:a]), то в видео попадет уже только он. Т. е. я понял так, что какая первая дорога идет перед блоком amix, только такая в видео и попадет, вторую он проигнорирует.
     
    Можно ли как-то подать ему добавочную команду, чтобы и рассинхрон убрать, и обе дороги в видео замиксовались?

    Всего записей: 720 | Зарегистр. 25-12-2002 | Отправлено: 17:36 09-10-2023 | Исправлено: Ethereal999, 17:39 09-10-2023
    UriF

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Странный эффект.  Скачал mp4 с помощью Video Download Helper.  Файл проигрывается в Daum & VLC, но превью не видно в Windows Explorer.  Попытался прогнать через ffmpeg командой
     
    ffmpeg -i input.mp4 copy output.mp4
     
    Получил следующий репорт об ошибке:
     
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0000021f0a60a5c0] Invalid sample size -6
    [mov,mp4,m4a,3gp,3g2,mj2 @ 0000021f0a60a5c0] error reading header
    [in#0 @ 0000021f0a60a480] Error opening input: Invalid data found when processing input
    Error opening input file input.mp4.
    Error opening input files: Invalid data found when processing input
     
    Прогнал через MediaInfo. Вот репорт:
     
    General
    Complete name                            : D:\input.mp4
    Format                                   : MPEG-4
    Format profile                           : Base Media
    Codec ID                                 : isom (isom/iso2/avc1/mp41)
    File size                                : 1.71 GiB
    Duration                                 : 4 h 11 min
    Overall bit rate mode                    : Variable
    Overall bit rate                         : 975 kb/s
    Frame rate                               : 29.970 FPS
     
    Video
    ID                                       : 1
    Format                                   : AVC
    Format/Info                              : Advanced Video Codec
    Format profile                           : High@L3.1
    Format settings                          : CABAC / 4 Ref Frames
    Format settings, CABAC                   : Yes
    Format settings, Reference frames        : 4 frames
    Codec ID                                 : avc1
    Codec ID/Info                            : Advanced Video Coding
    Duration                                 : 4 h 11 min
    Source duration                          : 4 h 11 min
    Bit rate                                 : 869 kb/s
    Width                                    : 864 pixels
    Original width                           : 852 pixels
    Height                                   : 468 pixels
    Original height                          : 480 pixels
    Display aspect ratio                     : 16:9
    Frame rate mode                          : Variable
    Frame rate                               : 29.970 FPS
    Minimum frame rate                       : 5.994 FPS
    Maximum frame rate                       : 120.000 FPS
    Color space                              : YUV
    Chroma subsampling                       : 4:2:0
    Bit depth                                : 8 bits
    Scan type                                : Progressive
    Bits/(Pixel*Frame)                       : 0.072
    Stream size                              : 1.52 GiB (89%)
    Source stream size                       : 1.52 GiB (89%)
    Writing library                          : x264 core 164 r3106 eaa68fa
    Encoding settings                        : cabac=1 / ref=2 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=4 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=15 / lookahead_threads=3 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=1 / keyint=150 / keyint_min=76 / scenecut=0 / intra_refresh=0 / rc_lookahead=20 / rc=crf / mbtree=1 / crf=25.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / ip_ratio=1.40 / aq=1:1.00
    mdhd_Duration                            : 15065532
    Codec configuration box                  : avcC
     
    Audio
    ID                                       : 2
    Format                                   : AAC LC
    Format/Info                              : Advanced Audio Codec Low Complexity
    Codec ID                                 : mp4a-40-2
    Duration                                 : 4 h 9 min
    Source duration                          : 4 h 11 min
    Bit rate mode                            : Variable
    Bit rate                                 : 2 394 kb/s
    Nominal bit rate                         : 96.3 kb/s
    Maximum bit rate                         : 6 025 kb/s
    Channel(s)                               : 2 channels
    Channel layout                           : L R
    Sampling rate                            : 44.1 kHz
    Frame rate                               : 43.066 FPS (1024 SPF)
    Compression mode                         : Lossy
    Stream size                              : 4.17 GiB
    Source stream size                       : 4.17 GiB
    mdhd_Duration                            : 14956507
    Errors                                   : Missing ID_END  
     
    Попробовал открыть в Avidemux, но он сразу крашнулся.  Я даже снова скачал этот же файл в VDH и получил абсолютно такой же файл с таким же чудом

    Всего записей: 827 | Зарегистр. 14-06-2004 | Отправлено: 06:55 10-10-2023
    vaskamy



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

    Цитата:
    Скачал mp4 с помощью Video Download Helper

    Заметил на собственном опыте что при загрузке видео с помощью разнообразных программ для скачивания видео, видео может загрузиться битым, при сбое в сети файл докачевается не корректно.
    Попробуйте перекачать видео чем то другим.

    Всего записей: 1081 | Зарегистр. 04-03-2017 | Отправлено: 07:49 10-10-2023
    UriF

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vaskamy
    У меня с этим расширением никогда проблем не было тем более, что только это расширение дает возможность выбора резолюций, все остальные расширения видят или 720p или 1080p (мне не нужно это в резолюции на весь экран, а потому я предпочитаю 480p,a другие эту резолюцию не видят в упор).  Более того, там дают стримы с других серверов.  С другого сервера получил без проблем.  Я повторяю, что проигрывается видео без проблем, а вот Avidemux вылетает и ffmpeg (и ffprobe) выдает странную ошибку.  MediaInfo тоже все видит.  Я не понимаю, почему, если Daum, основанный на ffmpeg, играет, а сам ffmpeg - нет.

    Всего записей: 827 | Зарегистр. 14-06-2004 | Отправлено: 09:31 10-10-2023
    Gideon Vi

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

    Цитата:
    Я не понимаю, почему, если Daum, основанный на ffmpeg, играет, а сам ffmpeg - нет

    потому, что у плеера нет задачи открыть поток корректно, а ffmpeg обязан сохранить поток корректно. То, что у файла не поврежден хидер, который читает mediainfo, вовсе не означает, что поток не закосячен.

    Всего записей: 8263 | Зарегистр. 02-02-2004 | Отправлено: 16:54 10-10-2023 | Исправлено: Gideon Vi, 16:55 10-10-2023
    UriF

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Gideon Vi
    Тогда тупой вопрос, прямо не относящийся к теме.  Есть ли проги, которые могут, в принципе, подобные ситуации исправить?

    Всего записей: 827 | Зарегистр. 14-06-2004 | Отправлено: 16:58 10-10-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 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