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

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

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

guru431

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


FFmpeg — набор свободных библиотек с открытым исходным кодом, которые позволяют записывать, конвертировать и передавать цифровые аудио- и видеозаписи в различных форматах, а также консольная утилита ffmpeg.exe, представляющая из себя универсальный видеоконвертер.

Ссылки на русском:
  • Документация по FFmpeg
  • Статья «19 команд FFmpeg для любых нужд»
     
    Примеры использования:
  • Преобразовать в MKV
  • Захвата с экрана, со звуком
  • Кодирование с помощью технологии Nvidia NVENC
  • Поддержка вывода Юникода в консоль для старых версий FFmpeg
  • Подготовка качественных GIF-файлов из видео при помощи FFmpeg
     
    Поддержка Windows XP. Последний официальный билд под Windows XP от Zeranoe ffmpeg-20150525-git-8ce564e был в мае 2015. Тема (нужен TOR), посвященная сборкам ffmpeg/ffprobe, работающих под Windows XP. Готовые сборки лежат тут, зеркало версии от 2019, 2020, 2021 года, GUI под WinXP (ffqueue, WinFF, Video converter). Static builds by Kyle Schwarz (последний для WinXP ffmpeg-3.0-win32-static.7z).

  • Всего записей: 64 | Зарегистр. 28-02-2007 | Отправлено: 17:23 21-11-2012 | Исправлено: nick7inc, 12:06 23-05-2022
    los

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

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

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

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



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

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

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

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



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

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

    Full 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!

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

    Всего записей: 2118 | Зарегистр. 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 символов:
       
    При этом имя самого файла генерит правильно, т. е. русскими буквами.

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



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

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

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

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

    Да.

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

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

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



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Поддержка вывода Юникода в консоль для FFmpeg.
     
    1. Запустить cmd.exe. Зайти в свойства консоли и задать шрифт "Consolas" или "Lucida Console". Закрыть окно консоли.
    2. В начало командного файла (.CMD, .BAT), который вызывает FFmpeg, добавить в начало строку "chcp 65001".
     
    Способ проверен на Windows 7 SP1.

    Всего записей: 9674 | Зарегистр. 05-02-2003 | Отправлено: 20:03 26-09-2019 | Исправлено: V0lt, 06:54 29-09-2019
    Ethereal999



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

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



    Gold 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" у меня были бы нечитаемые. А так нормально.

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

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

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

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

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



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

    Всего записей: 657 | Зарегистр. 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 с моей точки зрения не лучшая идея в данном случае.

    Всего записей: 5928 | Зарегистр. 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, похоже дельная вещь.

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

    Всего записей: 5928 | Зарегистр. 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  в моем случае идентичны


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

    Компьютерный форум Ru.Board » Компьютеры » Программы » FFmpeg


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.Board
    © Ru.Board 2000-2020

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru