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

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

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

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 | Исправлено: V0lt, 18:34 17-08-2025
    Gideon Vi

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    UriF
    ну, если по простому, можно закинуть файл в mkvtoolnix, сохранить, как mkv, и уже его открыть в avidemux, пересохранив, как mp4 (если нужен именно mp4).
    Есть программы, чинящие исходный файл напрямую, но я ими особо не пользуюсь

    Всего записей: 8242 | Зарегистр. 02-02-2004 | Отправлено: 17:00 10-10-2023
    V0lt



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

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

    Там декодеры на основе ffmpeg, а сурс-фильтр MP4 может быть основан на чем угодно.

    Всего записей: 11207 | Зарегистр. 05-02-2003 | Отправлено: 17:54 10-10-2023
    vaskamy



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    UriF
     
    Если визуально не видно что видео кривое то можно перекодировать - полно программ, через ffmpeg то же можно попробовать исправить, команду я не знаю я через гуи оболочку исправлял clever FFmpeg GUI.

    Всего записей: 1076 | Зарегистр. 04-03-2017 | Отправлено: 20:17 10-10-2023
    zvezdochiot



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

    Цитата:
     
    Попытался прогнать через ffmpeg командой
     
    ffmpeg -i input.mp4 copy output.mp4  
     

    copy?!!! Не пытайтесь говорить с программой на человеческом языке. Попробуйте говорить на понятном ей, например:

    Код:
     
    ffmpeg -i input.mp4 -c copy output.mp4  
     

     

    Всего записей: 973 | Зарегистр. 18-05-2023 | Отправлено: 06:30 11-10-2023
    vaskamy



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

    Код:
    cd /D "%~dp1"
    set "ffmpeg=D:\ffmpeg\bin"
    set "path=%path%;%ffmpeg%"
    for %%i in (*.mp4 *.mkv) do (
      for %%a in (*.mp3 *.aac) do (
        ffmpeg -i "%%i" -i "%%a" -map 0 -map 1:a -c:v copy -c:a copy -shortest -metadata:s:a:0 language=eng -metadata:s:a:0 handler_name="English" -metadata:s:a:0 title="ENG" -metadata:s:a:1 language=rus -metadata:s:a:1 handler_name="Русский" -metadata:s:a:1 title="RUS" -y "%%~ni_replaced.mp4"
      )
    )
    pause

    должен добавлять русскую звуковую дорожку ставить её на первое место и по умолчанию в видео в котором есть уже английская, с английской нужно снять умолчание и что бы она стала второй.
    У меня получилась беле-берда кака я то.

    Всего записей: 1076 | Зарегистр. 04-03-2017 | Отправлено: 12:56 11-10-2023
    vaskamy



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    В общем проблему с умолчаниями звуковых дорожек я решил:

    Код:
    cd /D "%~dp1"
    set "ffmpeg=D:\ffmpeg\bin"
    set "path=%path%;%ffmpeg%"
    for %%i in (*.mp4 *.mkv) do (
      for %%a in (*.mp3 *.aac) do (
        ffmpeg -i "%%i" -i "%%a" -map 0 -map 1:a -c copy -shortest -disposition:a:0 none -metadata:s:a:0 language=eng -metadata:s:a:0 handler_name="English" -metadata:s:a:0 title="ENG" -disposition:a:1 default -metadata:s:a:1 language=rus -metadata:s:a:1 handler_name="Русский" -metadata:s:a:1 title="RUS" -y "%%~ni_replaced.mp4"
      )
    )
    pause

     
    теперь нужно переместить русскую дорожку выше, что бы в плеере она была первой а не второй.
    Я не знаю как это сделать, вот досада.

    Всего записей: 1076 | Зарегистр. 04-03-2017 | Отправлено: 15:53 11-10-2023
    vaskamy



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

    Код:
    cd /D "%~dp1"
    set "ffmpeg=D:\ffmpeg\bin"
    set "path=%path%;%ffmpeg%"
     
    for %%i in (*.mp4 *.mkv) do (
      for %%a in (*.mp3 *.aac) do (
        ffmpeg -i "%%i" -i "%%a" -map 0:v:0 -map 0:a:0 -map 0:a:1 -c copy ^
        -shortest ^
        -disposition:a:0 default ^
        -disposition:a:1 none ^
        -metadata:s:a:0 language=rus -metadata:s:a:0 handler_name="Русский" -metadata:s:a:0 title="RUS" ^
        -metadata:s:a:1 language=eng -metadata:s:a:1 handler_name="English" -metadata:s:a:1 title="ENG" ^
        -y "%%~ni_replaced.mp4"
      )
    )
     
    pause

    Загвоздка поток -map 0:a:1 который встроен в видео - не хочет работать .
     
    Люди добрые помогите!!!

    Всего записей: 1076 | Зарегистр. 04-03-2017 | Отправлено: 18:12 11-10-2023
    UriF

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    zvezdochiot
     
    так тоже делал. та же самая ошибка:
     
     
    [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
     
    явно не читает входящий поток

    Всего записей: 821 | Зарегистр. 14-06-2004 | Отправлено: 18:18 11-10-2023 | Исправлено: UriF, 18:31 11-10-2023
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vaskamy
    В вашем примере много шума, которые к сути вопроса не относятся.
     
    Предложу выложить архив с 2 небольшими файлами в качестве примера и командным файл, в котором не будет всяких левых SET и FOR. Мими проходящим спецам такое будет интереснее.

    Всего записей: 11207 | Зарегистр. 05-02-2003 | Отправлено: 18:32 11-10-2023 | Исправлено: V0lt, 18:42 11-10-2023
    UriF

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Gideon Vi
    MKVToolnix взял, но отрезал последнюю секунду.  Получил mp4 из mkv следующей командой:
     
    ffmpeg -i input.mkv -vcodec copy -acodec copy -scodec mov_text output.mp4
     
    Короче, взял тот же файл с другого сервера через VDH, как хотел, в резолюции 480p
     
    Так что изначально на сервере был испорчен какой-то фрагмент длиной 1 сек.

    Всего записей: 821 | Зарегистр. 14-06-2004 | Отправлено: 18:49 11-10-2023
    Baltazar500



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Хотел ремукснуть через ffmpeg mkv-ки, в составе которых 1 видео, 1 аудио и 1 субтитры, добавив внешнюю дорогу (aac) и метаданные к ней, но в итоге получаю криво воспроизводящийся по второй дороге файл. При муксе в выхлопе серьёзных алертов нет, но есть вот такие :
     

    Код:
    [aac @ 00000000004ddf80] Estimating duration from bitrate, this may be inaccurate
    [matroska @ 00000000004c9dc0] Starting new cluster due to timestamp=1710.6kbits/s speed= 233x
    Last message repeated 9 times  293888kB time=00:21:14.98 bitrate=1888.3kbits/s speed= 254x

    Если убрать из команды муксинга  

    Код:
    -map 0:v:0 -map 0:a:0 -map 1:a:0 -metadata:s:a:1 language="abcd" -map 0:s:0 -c copy

    сабы (-map 0:s:0), то мукс происходит лишь с алертом

    Код:
    [aac @ 00000000004ddf80] Estimating duration from bitrate, this may be inaccurate

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

    Всего записей: 2531 | Зарегистр. 19-09-2011 | Отправлено: 19:18 11-10-2023 | Исправлено: Baltazar500, 19:21 11-10-2023
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Baltazar500
    Попробуйте упаковать ваш AAC в M4A или MKA.

    Всего записей: 11207 | Зарегистр. 05-02-2003 | Отправлено: 20:45 11-10-2023
    Baltazar500



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    V0lt, те сначала aac в m4a/mka и это уже потом муксить с контентом mkv - ки ? А причём тут сабы ? Без них ведь файл муксится нормально. Я просто не могу понять, в чём затык.

    Всего записей: 2531 | Зарегистр. 19-09-2011 | Отправлено: 21:06 11-10-2023
    vaskamy



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Помогите.
    Что добавить чтобы не удалялась встроенная в видео превьюшка (cover)

    Код:
    cd /D "%~dp1"
    set "ffmpeg=D:\ffmpeg\bin"
    set "path=%path%;%ffmpeg%"
     
    for %%i in (*.mp4 *.mkv) do (
      for %%a in (*.mp3 *.aac *.m4a) do (
        ffmpeg -i "%%i" -i "%%a" -c copy -map 0:v:0 -map 1:a -map 0:a:0 ^
        -shortest ^
        -disposition:a:1 none ^
        -metadata:s:a:1 language=eng -metadata:s:a:1 handler_name="English" -metadata:s:a:1 title="ENG" ^
        -disposition:a:0 default ^
        -metadata:s:a:0 language=rus -metadata:s:a:0 handler_name="Русский" -metadata:s:a:0 title="RUS" ^
        -y "%%~ni_replaced.mp4"
      )
    )
     
    pause

     
    Добавлено:
    Все метаданные сохраняются кроме Cover

    Всего записей: 1076 | Зарегистр. 04-03-2017 | Отправлено: 21:12 11-10-2023
    V0lt



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

    Цитата:
    сначала aac в m4a/mka и это уже потом муксить с контентом mkv - ки ?

    Да.

    Всего записей: 11207 | Зарегистр. 05-02-2003 | Отправлено: 21:14 11-10-2023
    vaskamy



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Для проходящих мимо спецов, смотрите только на это

    Код:
    ffmpeg -i "%%i" -i "%%a" -c copy -map 0:v:0 -map 1:a -map 0:a:0

    не смотрите на лишний шум.
     
    Добавлено:
    Пробовал добавлять
    Код:
    -map_metadata 0
    не помогает
     

    Код:
    ffmpeg -i "%%i" -i "%%a" -c copy -map 0:v:0 -map_metadata 0 -map 1:a -map 0:a:0

    обложка все одно само удаляется, видео самое обычное с ютуба, скачиволось и встраивались метаданные, обложка с помощью yt-dlp и ffmpeg для yt-dlp.
     

    Всего записей: 1076 | Зарегистр. 04-03-2017 | Отправлено: 21:16 11-10-2023
    MMasutin

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vaskamy, FFmpeg видит встроенное изображение как видео, поэтому не -map 0:v:0, a -map 0:v!

    Всего записей: 119 | Зарегистр. 05-01-2021 | Отправлено: 21:45 11-10-2023
    vaskamy



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

    Цитата:
    -map 0:v!

    ffmpeg пишет в консоли что таких потоков не существует.
     
    Добавлено:
    MMasutin
    Я рисовал даже так  

    Код:
    -map 0:v:1
    тогда обложка добавляется как второй поток видео но все равно не отображается, хотя она там есть если посмотреть через XviD4PSP или медиа инфо.

    Всего записей: 1076 | Зарегистр. 04-03-2017 | Отправлено: 22:10 11-10-2023
    los

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

    Цитата:
    Для проходящих мимо спецов, смотрите только на это

    А если просто проходящий, а не спец? Почему вы считаете что обложка не сохраняется? Речь только об обложке, а не о правильности приведенной вами команды в целом.  
     
    ffmpeg -i foo.mp4 -i bar.mp4 -c copy -map 0:v:0 -map 1:a -map 0:a:0 baz.mp4
    ffmpeg -i baz.mp4
    ....
    Stream #0:3[0x0]: Video: png, rgb24(pc), 600x600, 90k tbr, 90k tbn (attached pic)
    ....
     
    Сохраняется обложка из файла foo.mp4 в файл baz.mp4

    Всего записей: 7940 | Зарегистр. 08-09-2001 | Отправлено: 23:38 11-10-2023
    vaskamy



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

    Цитата:
    видео самое обычное с ютуба, скачиволось и встраивались метаданные, обложка с помощью yt-dlp и ffmpeg для yt-dlp.

    У меня не получается - скорее всего причина в том что обложка интегрирована в видео не стандартным ffmpeg а модифицированным.
    кусочек из ме инфо:

    Код:
    Recorded date               : 20100707
    Writing application         : Lavf60.13.100
    Cover                       : Yes
     

     
    Добавлено:
    Удаляется вот эта строка

    Цитата:
    Cover                       : Yes


    Всего записей: 1076 | Зарегистр. 04-03-2017 | Отправлено: 23:57 11-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

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