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

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

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

    Цитата:
    Подскажите, можно ли сконвертировать в -pix_fmt yuv420p10le с копированием -c:v copy ?

     
    Это как? Видео нужно изменить, но оставить нетронутым?

    Всего записей: 1146 | Зарегистр. 03-02-2007 | Отправлено: 13:18 25-03-2018
    NPC



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lvqcl
    Ааа, значит без кодировки тут никуда. спасибо.

    Всего записей: 8943 | Зарегистр. 17-02-2005 | Отправлено: 14:10 25-03-2018
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NPC
    Команда -c:v copy берет твой сжатый поток в формате H.264 и как есть укладывает в новый файл. Всякие -pix_fmt указывать бессмысленно, т.к. эта опция работает только для несжатого видео, а ты ничего декодировать не хочешь.

    Цитата:
    Как без особых потерь конвертировать в --pix_fmt yuv420p10le ?
    Что значит без особых потерь? Надеюсь ты в курсе, что YUV422 -> YUV420 - это уже потери в цветовом разрешении.

    Всего записей: 10492 | Зарегистр. 05-02-2003 | Отправлено: 14:20 25-03-2018
    NPC



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    V0lt
    Я имею ввиду при процессорным потерях. безоблезненно и быстро перекодировать в 420.

    Всего записей: 8943 | Зарегистр. 17-02-2005 | Отправлено: 14:23 25-03-2018
    roman_vlg

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Кодирование в mp3 через ffmpeg
    Кодировать с указанным постоянным (CBR) битрейтом:
    ... -c:a libmp3lame -compression_level 2 -b:a 320k
    Кодировать с переменным (VBR) битрейтом по заданному профилю:
    ... -c:a libmp3lame -compression_level 2 -q:a 0
     
    libmp3lame
    -Будет использован внешний энкодер lame, включённый в пакет ffmpeg.
    compression_level 0-9
    -Качество алгоритма сжатия. Не влияет на размер файла, а только на слышимое качество и скорость кодирования! 0 максимальное качество и самое длительное кодирование, 2 оптимален по соотношению качества и затрат времени. 9ый режим в 10раз быстрее кодирует, чем режим 0. При стандартном использовании lame.exe вне пакета ffmpeg, вместо -compression_level для задания качества кодирования при постоянном битрейте используется -q, но в ffmpeg -q работает иначе !!!
    -b:a 8k, 16k, 24k, 32k, 40k, 48k, 64k, 80k, 96k, 112k, 128k, 160k, 192k, 224k, 256k, 320k
    -Велечина CBR, max 320k. Ниже 256k  трешёвое качество. -b:a 320k не лучше, чем -q:a 0, но в AVI гарантированно работает только CBR аудио, то есть с постоянным битрейтом.
    -q:a 0-9
    -Кодироватьо с переменным битрейтом ( аналог -V,  которая используется для работы с lame.exe вне ffmpeg). VBR плохо совместим с AVI! 0 максимальное качество, средний битрейт 245k, на слух примерно равен CBR320, но занимает на ~19% меньше места. 2 – средний битрейт 190k. Выбирать режим больше 3х не рекомендуется, сильно падает качество.
     


    По умолчанию всегда используется joint-stereo (и нет смысла это поведение менять) и Sampling rate, как в источнике ( только на очень низком битрейте происходит автоматический ресемплинг, и чтобы этого не допустить, можно явно указать Sampling rate с помощью -ar ).
     
    -ar 48000 / 44100
    -Sampling rate ( частота дискретизации ). Требуется указывать для входящего RAW PCM. В остальных случаях выставляется автоматически, как во входном файле. -Лучше не менять частоту, т.к. могут появиться артефакты в виде треска.
    -sample_fmt
    -Bit depth. Если повысить глубину в выходном файле, например с 16bit до 32, это не повлечет никакого улучшения качества. Bit depth is only meaningful in reference to a PCM digital signal. Non-PCM formats, such as lossy compression formats, do not have associated bit depths. For example, in MP3, quantization is performed on PCM samples that have been transformed into the frequency domain. Полезно повысить только для pcm с целью их дальнейшей обработки ( это снизит негативные эффекты фильтров ).

    Всего записей: 164 | Зарегистр. 30-06-2014 | Отправлено: 15:39 25-03-2018 | Исправлено: roman_vlg, 10:58 26-03-2018
    roman_vlg

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

    Всего записей: 164 | Зарегистр. 30-06-2014 | Отправлено: 10:57 26-03-2018 | Исправлено: roman_vlg, 14:07 26-03-2018
    vlad_001

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

    Цитата:
    Каждый mp3 соединяется с video.avi, на выходе mkv.
     
    Код:
    FOR %%f IN (*.mp3) DO ffmpeg.exe -i "%%f" -i "video.avi" -acodec copy -vcodec copy "output_%%~nf.mkv"
     
    Создать файл .cmd и запустить.

     
    в папке находятся:
     
    1) bat файл
    2) ffmpeg файл
    3) video.avi
    4) audio1.mp3
    5) audio2.mp3
    6) audio3.mp3
     
    на выходе получаем: video1 video2 video3
     
    подскажите пожалуйста, как запаковать bat и ffmpeg файлы в один экзешник (чтобы не мозолили глаза), чтобы при его запуске срабатывал и батник и ffmpeg...
     
    П.С. я попробовал скомпилировать экзешник Quick Batch File Compiler, если я вставляю только батник - то все работает, но тогда ffmpeg должен болтаться в папке, если же я компилирую bat и ffmpeg в экзешник, то ffmpeg не видит видео и аудио файлы...
     

    Всего записей: 166 | Зарегистр. 10-04-2013 | Отправлено: 12:50 26-03-2018
    thejustsoul



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    roman_vlg
    Встроенный в FFMPEG AAC-кодировщик отстойный (когда-то гуглил, как сейчас не знаю), лучше использовать Fraunhofer FDK AAC (libfdk_aac), но придется компилировать FFMPEG вручную с поддержкой libfdk_aac (есть в интернете даже мануалы как это сделать).
     
    vlad_001

    Цитата:
    подскажите пожалуйста, как запаковать bat и ffmpeg файлы в один экзешник (чтобы не мозолили глаза), чтобы при его запуске срабатывал и батник и ffmpeg...  

    Переместить ffmpeg.exe в System32 или куда-то в другое место и\или прописать в батнике\винде в переменную PATH путь до ffmpeg.exe.

    Всего записей: 1789 | Зарегистр. 30-03-2014 | Отправлено: 14:08 26-03-2018
    vlad_001

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

    Цитата:
    Переместить ffmpeg.exe в System32 или куда-то в другое место

    это дело будет отдано чайнику, поэтому хочу свести все до минимума, а вот по поводу
    Цитата:
    или прописать в батнике\винде в переменную PATH путь до ffmpeg.exe.

    можно пример?
     
    Добавлено:

    Цитата:
    в папке 1 находятся:
     
    1) bat файл
    2) ffmpeg файл
    3) video.mp4
    4) audio1.mp3
    5) audio2.mp3
    6) audio3.mp3
     
    на выходе получаем: video1 video2 video3  

     
    П.С. возник ещё такой вопрос, можно ли как-то прописать в батнике, чтобы готовые видеофайлы складывались в отдельную папку с относительными путями, а эта папка (например video_all) чтобы размещалась в папке 1
     
    например:
     
    П.П.С. и ещё такой вопрос, а есть возможность скрыть появление командной строки

    Всего записей: 166 | Зарегистр. 10-04-2013 | Отправлено: 14:20 26-03-2018 | Исправлено: vlad_001, 15:11 26-03-2018
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vlad_001
    Цитата:
    как запаковать bat и ffmpeg файлы в один экзешник (чтобы не мозолили глаза)
    Надуманная неотносящаяся к теме проблема.

    Всего записей: 10492 | Зарегистр. 05-02-2003 | Отправлено: 17:50 26-03-2018
    thejustsoul



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

    Цитата:
    можно пример?  

    Батником:

    Код:
    @echo off
    setlocal
    set PATH=C:\Tools\ffmpeg;%PATH%
     
    ffmpeg ......

    Через переменные среды в винде:
    Свойства ПК->Дополнительные параметры системы->Дополнительно->Переменные среды->Переменные среды пользователя->Создать:
    Имя переменной: Path
    Значение переменной: C:\Tools\ffmpeg;
     
    По-поводу батников, скрытия консоли и т.п., обратитесь в соотв.тему, там помогут..

    Всего записей: 1789 | Зарегистр. 30-03-2014 | Отправлено: 18:16 26-03-2018
    vlad_001

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

    Цитата:
    Каждый mp3 соединяется с video.avi, на выходе mkv.
     
    Код:
    FOR %%f IN (*.mp3) DO ffmpeg.exe -i "%%f" -i "video.avi" -acodec copy -vcodec copy "output_%%~nf.mkv"
     
    Создать файл .cmd и запустить.  

     
    тогда один вопрос, куда и что прописать в этот батник, чтобы выходные mkv файлы складывались в отдельную папку с относительным путем...

    Всего записей: 166 | Зарегистр. 10-04-2013 | Отправлено: 20:18 27-03-2018
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vlad_001
    ... "любой\относительный\путь\output_%%~nf.mkv"

    Всего записей: 10492 | Зарегистр. 05-02-2003 | Отправлено: 20:54 27-03-2018
    vlad_001

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    V0lt
    спасибо...

    Всего записей: 166 | Зарегистр. 10-04-2013 | Отправлено: 22:54 27-03-2018 | Исправлено: vlad_001, 23:19 27-03-2018
    vlad_001

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте!
    Есть видео файл video1.mp4 длиной 11 минут и есть видео файл video2.avi длиной 45 секунд...подскажите, как их смиксовать ffmpeg, чтобы video2.avi файл наложился на video1.mp4 файл на 5 минуте (fps и разрешения обоих файлов одинаковые) на выходе mp4 файл

    Всего записей: 166 | Зарегистр. 10-04-2013 | Отправлено: 14:51 31-03-2018 | Исправлено: vlad_001, 11:38 01-04-2018
    Krot66



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

    Код:
    ffmpeg -f gdigrab -framerate 15 -i desktop -f dshow -i audio="Microphone (ASUS Xonar DG Audio Device)" -vf scale=1280x720 -c:v libx264 -crf 18 -preset veryfast output.mp4

    Обнаружил, что WMP файлы проигрывает, но показывает черный экран. MPC-BE показывает видео в перевернутом виде (VLC, MPC и MPC-HC показывают как надо). У меня в PotPlayer подключен MPCVideoDec.ax - если его не выключить, он крутит тоже. Это уже вопрос к V0lt - данное наблюдается и с другими кодерами, вроде huffyuv. Вообще есть ли какой-то способ получения mp4 с наибольшей совместимостью?

    Всего записей: 1193 | Зарегистр. 10-12-2007 | Отправлено: 17:57 07-04-2018 | Исправлено: Krot66, 18:00 07-04-2018
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Krot66
    Выложи полученное видео.
     
    Добавлено:

    Цитата:
    Вообще есть ли какой-то способ получения mp4 с наибольшей совместимостью?
    Приходилось делать подобное. Кодировал в H264 lossless в ultrafast режиме (ссылка на пример в шапке), а затем перекодировал с более типичными параметрами.

    Всего записей: 10492 | Зарегистр. 05-02-2003 | Отправлено: 18:19 07-04-2018
    Krot66



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    V0lt
    Вот Ссылка.
    У меня MPC-BE 1.5.1 (build 2985) и standalone_filters-mpc-be.1.5.1.2755.x86.7z. Система Windows 8.0 x64.

    Всего записей: 1193 | Зарегистр. 10-12-2007 | Отправлено: 19:07 07-04-2018
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Krot66
    У тебя довольно старая версия плеера и непонятно зачем тебе еще более старые standalone_filters, которые плееру не нужны.
    У меня играет нормально, а WMP такое играть не будет, т.к. 4:4:4.
     
    Вот пример захвата и последующей перекодировки:
    Код:
    ffmpeg -f gdigrab -framerate 15 -i desktop -f dshow -i audio="Микрофон (Realtek High Definiti" -c:v libx264 -qp 0 -preset ultrafast "grab.mp4"
    pause
    ffmpeg -i "grab.mp4" -pix_fmt yuv420p -vf scale=1280x720 -c:v libx264 -crf 20 -preset slower "grab_recompress.mp4"
    PS: прерывать захват клавишей "q".

    Всего записей: 10492 | Зарегистр. 05-02-2003 | Отправлено: 20:25 07-04-2018
    Krot66



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    V0lt
    Фильтр прикручен к PotPlayer - четкость лучше, чем с штатным. C 3445 все стало на место и там, и там. Спасибо

    Всего записей: 1193 | Зарегистр. 10-12-2007 | Отправлено: 21:05 07-04-2018
    Открыть новую тему     Написать ответ в эту тему

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