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

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

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

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).
     
    Сборки для Windows 7
     
    Запуск офф. сборок 7.0.1 на Windows 7  
     
    Список различных сборок.
     
    Архив старых версий ffmpeg
     
    По общим вопросам написания командных файлов есть отдельная тема "Командная строка, батники, сценарии - bat, cmd".

  • Всего записей: 67 | Зарегистр. 28-02-2007 | Отправлено: 17:23 21-11-2012 | Исправлено: ED_Sln, 08:32 02-10-2024
    los

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

    Цитата:
    добавь -fflags +genpts

    это не всегда помогает.

    Всего записей: 7740 | Зарегистр. 08-09-2001 | Отправлено: 14:10 04-09-2019
    Valery_Sh



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    И фреймрейт на входе нужно указывать для сырых потоков.

    Всего записей: 2171 | Зарегистр. 30-06-2008 | Отправлено: 14:13 04-09-2019 | Исправлено: Valery_Sh, 14:14 04-09-2019
    bbcby

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ktiran86
    Не помогло, ошибка та же.
     
    Добавлено:
    Valery_Sh
    Подскажите какой ключ

    Всего записей: 623 | Зарегистр. 11-06-2003 | Отправлено: 15:03 04-09-2019
    Valery_Sh



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    bbcby
    http://ffmpeg.org/ffmpeg-all.html#Video-Options
    опции, относящиеся к входному потоку, указываются перед источником (-i file_name)

    Всего записей: 2171 | Зарегистр. 30-06-2008 | Отправлено: 16:01 04-09-2019
    bbcby

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ffmpeg -y -r:24 -s:1920x1080 -i video.264 -vcodec copy video.mkv
     

    Цитата:
    [matroska @ 05e74800] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
    [matroska @ 05e74800] Can't write packet with unknown timestamp
    av_interleaved_write_frame(): Invalid argument
    frame=    1 fps=0.0 q=-1.0 Lsize=       1kB time=-00:00:00.08 bitrate=N/A speed=N/A
    video:43kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
    Conversion failed!

    Всего записей: 623 | Зарегистр. 11-06-2003 | Отправлено: 16:22 04-09-2019
    Valery_Sh



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    По поводу синтаксиса отсюда
    http://forum.ru-board.com/topic.cgi?forum=5&topic=45173&start=680#14
    Опции энкодера вида deblock=-3:-3, передаваемые через опции x265, надо писать с заменой ":" на ","
    К -x264opts тоже относится.
    В доках это упомянуто мельком. Совсем чуть.
     
    зы\ на мой взгляд ленивого юзверя, длинные строки параметров удобней заменить собственным пресетом vpre, оставив в cli только то, что требует оперативного изменения.
     
    Текстовый файл с одним параметром на строку и каментом если надо, всяко удобнее. И с гарантией не будет конфликта с синтаксисом оболочки.
    Взвести $FFMPEG_DATADIR и всех делов. Инфа по использованию файлов пресетов есть в доках ffmpeg

    Всего записей: 2171 | Зарегистр. 30-06-2008 | Отправлено: 15:09 25-09-2019
    Ethereal999



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Коллеги, не подскажете, сабж поддерживает кириллицу, когда выводит информацию в консоли?
    Поясню: когда я задаю команду на перекодировку, например такую:
    Код:
    ffmpeg -allowed_extensions ALL -i chunklist.m3u8 -c copy "2.2 Домашняя работа.ts"

    то в процессе работы FFmpeg выдает в консоль русское имя в виде ASCII символов:
       
    При этом имя самого файла генерит правильно, т. е. русскими буквами.

    Всего записей: 707 | Зарегистр. 25-12-2002 | Отправлено: 19:26 26-09-2019 | Исправлено: Ethereal999, 19:28 26-09-2019
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ethereal999
    Насколько помню, для лучшей поддержки консолью кирилицы (и возможно других символов), нужно запустить cmd.exe и в свойствах консоли задать шрифт "Consolas" или "Lucida Console". Тогда некоторые программы смогут чуть ли не уникодом в консоли писать.
    Но увы для FFmpeg это пока не работает.
     
    Добавлено:
    Хотя, нет, работает! Решение ниже.

    Всего записей: 10793 | Зарегистр. 05-02-2003 | Отправлено: 19:39 26-09-2019 | Исправлено: V0lt, 20:04 26-09-2019
    los

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

    Цитата:
    Коллеги, не подскажете, сабж поддерживает кириллицу, когда выводит информацию в консоли?  

    Да.

    Цитата:
    то в процессе работы FFmpeg выдает в консоль русское имя в виде ASCII символов:  

    в какой кодировке chunklist.m3u8?

    Всего записей: 7740 | Зарегистр. 08-09-2001 | Отправлено: 19:48 26-09-2019
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Поддержка вывода Юникода в консоли Windows.
     
    1. Запустить cmd.exe. Зайти в свойства консоли и задать шрифт "Consolas" или "Lucida Console". Закрыть окно консоли.
    2. В начало командного файла (.CMD, .BAT), который вызывает FFmpeg, добавить в начало строку "CHCP 65001". Командный файл сохранить в кодировке UTF-8 без BOM.
     
    Способ проверен на Windows 7 SP1, Windows 10 22H2.

    Всего записей: 10793 | Зарегистр. 05-02-2003 | Отправлено: 20:03 26-09-2019 | Исправлено: V0lt, 16:56 27-01-2024
    Ethereal999



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    los
    1251  (ANSI - Cyrillic)
     
    V0lt
    Спасибо, попробую. Только про командный файл не понял: в плейлист добавить, т. е. в моем случае в chunklist.m3u8?

    Всего записей: 707 | Зарегистр. 25-12-2002 | Отправлено: 01:48 27-09-2019
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ethereal999
    Нужно создать файл с расширением .CMD или .BAT, в начало которого прописать "chcp 65001", а дальше свой вызов FFmpeg. И запустить его.
    Естественно не забыть про шрифты "Consolas" или "Lucida Console", которые надо настроить только один раз.
     
    Пример:
    get_dshow_record_device.cmd

    Код:
    chcp 65001
    ffmpeg -hide_banner -list_devices true -f dshow -i dummy
    pause

    Если бы Я этого не сделал, то названия устройств "Микрофон (Realtek High Definiti" и "Стерео микшер (Realtek High Def" у меня были бы нечитаемые. А так нормально.

    Всего записей: 10793 | Зарегистр. 05-02-2003 | Отправлено: 09:02 27-09-2019 | Исправлено: V0lt, 09:28 27-09-2019
    los

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

    Цитата:
    1251  (ANSI - Cyrillic)  

    если измените на utf-8 каков будет результат?
     

    Всего записей: 7740 | Зарегистр. 08-09-2001 | Отправлено: 09:24 27-09-2019
    Ethereal999



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    los
    Пробовал, но не помогло.
     
    V0lt
    В батнике же! Семён Семёныч... старею )
    Да, переключение кодировки в консоли на UTF-8 (65001) помогло, теперь вывод на русском. Шрифт Lucida Console.
    Спасибо.

    Всего записей: 707 | Зарегистр. 25-12-2002 | Отправлено: 03:04 29-09-2019 | Исправлено: Ethereal999, 00:36 30-09-2019
    DWZ

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, плиз, как зафиксировать ВЫходную частоту кадров при ремуксе TS -> MP4
     
    Использую командную строку
     
    ffmpeg.exe -i файл.ts -map 0 -c:v copy -c:a copy файл.mp4
     
    Поток чистый, помех и выпадений нет, но иногда ffmpeg ругается на нумерацию PTS и mailformed AAC streamи велит использовать -bsf:a aac_adtstoasc -strict -2
     
    При этом частота кадров становится ПЕРЕМЕННАЯ и полученное mp4 дёргается (оригинальный ts воспроизводится без проблем). mp4explorer показывает, что в ctts стоЯт неодинаковые дельты по времени, а mediainfo говорит, что частота кадров переменная, например от 1,6 до 145 fps, хотя должно быть (и в ts-оригинале есть) 25 fps
     
    Как заставить ffmpeg установить фиксированную частоту кадров в 25 fps?
     
    -r 25 не помогает

    Всего записей: 21 | Зарегистр. 09-10-2019 | Отправлено: 12:07 12-10-2019
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    DWZ,
    https://trac.ffmpeg.org/wiki/ChangingFrameRate
    для изменения fps, наверное, лучше использовать https://github.com/nu774/mp4fpsmod
    но прежде попробуйте сделать ремукс другими программами, например, mp4box и т.п. т.к. менять fps с моей точки зрения не лучшая идея в данном случае.

    Всего записей: 7740 | Зарегистр. 08-09-2001 | Отправлено: 13:14 12-10-2019
    DWZ

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Я *НЕ* хочу менять fps, я, наоборот, хочу, чтобы он оставался прежним.  
     
    VLC PLayer достойно справляется с ремуксом в данной ситуации, но у него свои косяки в других случаях.
     
    Речь о том, чтобы сказать ffmpeg - дельта времени между кадрами - всегда вот такая - и всё. ffmpeg распознаЁт же отдельные кадры в потоке, чтобы moov сформировать.
     
    Добавлено:
    mp4fpsmod, похоже дельная вещь. Но хотелось бы вообще не попадать в такую ситуацию вместо того, чтобы из неё с честью выбираться. Давить проблему в зародыше, так сказать.

    Всего записей: 21 | Зарегистр. 09-10-2019 | Отправлено: 13:40 12-10-2019
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    DWZ,
    выложите отчеты mediainfo для исходного ts и полученного mp4.
    и я бы все равно рекомендовал бы попробовать просто чтобы сравнить:
    $ mp4box -add in.ts out.mp4  
     
     
     
     
    Добавлено:

    Цитата:
    mp4fpsmod, похоже дельная вещь.

    здесь же приличные люди - чепухи не посоветуют

    Всего записей: 7740 | Зарегистр. 08-09-2001 | Отправлено: 14:11 12-10-2019
    DWZ

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Оригинальные TS грохнуты, а MP4 искать надо.  
     
    На память скажу:
     
    1) ctts должно быть 2000, а fffmpeg делает 1997-2000-2003 в разных сочетаниях.
    1) ctts должно быть 512, а имеем порнографию 511-1-511-1-511-1-511-1-511-1...

    Всего записей: 21 | Зарегистр. 09-10-2019 | Отправлено: 21:04 12-10-2019
    los

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

    Цитата:
    Оригинальные TS грохнуты, а MP4 искать надо.  

    понятно, будем гадать на кофейной гуще?
    ctts для файлов созданых ffmpeg и mp4box  в моем случае идентичны


    Всего записей: 7740 | Зарегистр. 08-09-2001 | Отправлено: 22:17 12-10-2019 | Исправлено: los, 22:20 12-10-2019
    Открыть новую тему     Написать ответ в эту тему

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

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