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

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

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

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



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

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

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

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



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

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



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

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

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

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

     

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

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

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

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

    Всего записей: 968 | Зарегистр. 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 который встроен в видео - не хочет работать .
     
    Люди добрые помогите!!!

    Всего записей: 968 | Зарегистр. 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
     
    явно не читает входящий поток

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



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

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

    Всего записей: 816 | Зарегистр. 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, но файлы для тестов я оставил, дабы разобрать вопрос

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



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

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



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

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

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



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

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

    Да.

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

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

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

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



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

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

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

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

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

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


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

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