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

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

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

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 года. Static builds by Kyle Schwarz (последний для WinXP ffmpeg-3.0-win32-static.7z).

  • Всего записей: 64 | Зарегистр. 28-02-2007 | Отправлено: 17:23 21-11-2012 | Исправлено: nick7inc, 12:07 27-10-2021
    NikosColev



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Нашел осязаемое обоснование почему FFmpeg надо качать в .ts:
     
       
     
    Сравнил файл конвертированный из записанного ts в mp4 с записанным mp4, - совпадают.
    Сравнил конвертированный из mp4 в ts с записанным ts, - не совпадают.
     
    Хотя байты те же, да. Но записанный в ts файл... оригинальнее, что, как мне кажется, позволяет избегать ошибок при его редактировании, а из mp4 его уже не получить...

    Всего записей: 1141 | Зарегистр. 31-07-2002 | Отправлено: 12:21 17-12-2018 | Исправлено: NikosColev, 12:26 17-12-2018
    los

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

    Цитата:
    Нашел осязаемое обоснование почему FFmpeg надо качать в .ts:  

    Думаю, качать нужно в том контейнере/формате в котором отдает сервер, а уже манипуляции с файлом проводить - на месте.

    Всего записей: 4866 | Зарегистр. 08-09-2001 | Отправлено: 13:01 17-12-2018
    NikosColev



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    los
    Все так думают, но никакими различиями не обосновывают.
    Пишущий на стороне клиента FFmpeg всегда "на месте"))) - доверять ему перепаковку во время записи или нет вот в чем вопрос. Видя что разница есть, решение принять проще.
    Надеюсь что скоро у меня появится возможность сравнить с Wget, тогда картинка станет ещё яснее.
     
    Утилитку умные люди писали, не факт что с её обновлением этой разницы не будет или же она окажется вполне осознанным решением.
    Я проверял на ffmpeg version 3.4.2, кстати.

    Всего записей: 1141 | Зарегистр. 31-07-2002 | Отправлено: 13:17 17-12-2018 | Исправлено: NikosColev, 13:27 17-12-2018
    los

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

    Цитата:
    Все так думают, но никакими различиями не обосновывают.

    убирается лишний фактор который может внести изменения в получаемый файл. Это не всегда критично, но все же. Впрочем, дело вкуса.

    Всего записей: 4866 | Зарегистр. 08-09-2001 | Отправлено: 13:29 17-12-2018
    NikosColev



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

    Цитата:
    убирается лишний фактор который может внести изменения в получаемый файл. Это не всегда критично, но все же. Впрочем, дело вкуса.
    Совпадение хэш-сумм записанного в ts с конвертированным из записанного в mp4 файлов, превращали бы такое обоснование в паранойю и влекли за собой лишние действия.

    Всего записей: 1141 | Зарегистр. 31-07-2002 | Отправлено: 13:55 17-12-2018
    NikosColev



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Заметил сегодня в консоли странное:
    [hls,applehttp @ 0000020c8c813180] Opening 'https://video/index.m3u8' for reading
    skipping 54 segments ahead, expired from playlists
    [hls,applehttp @ 0000020c8c813180] Opening 'https://video/53-07200.ts' for reading
    Ну и файл такой получается меньше, что логично:
       
    _________________
    Хорошо иметь возможность записать дубль, в большинстве случаев запись совпадает, но не всегда:
       
     
    Интересно, а медиа информация об этих файлах разная: https://yadi.sk/d/0304utdujxTcdg
    М.б. по разнице можно предполагать наличие ошибок при записи?
     
    Если предположить, что файл который меньше писался без -re (такое возможно), то это объяснит разницу в медиаинфо?

    Всего записей: 1141 | Зарегистр. 31-07-2002 | Отправлено: 20:03 17-12-2018 | Исправлено: NikosColev, 23:46 17-12-2018
    NikosColev



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Любопытно:
    - файлы конвертированные из записанных ts в mp4, идентичны записанным mp4 в 9 из 10 случаев.
    - файлы конвертированные из записанных ts в mov, идентичны записанным mov в 0 из 10 случаев

    Всего записей: 1141 | Зарегистр. 31-07-2002 | Отправлено: 12:19 18-12-2018
    NikosColev



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите команду ffmpeg для выравнивания видео-аудио треков по продолжительности, плз.
     
    Заметил что QTP умеет выводить информацию о времени запуска и остановки дорожек; оно часто не совпадает ни у записанных ffmpeg файлов, ни у скачанных wget пакетов:
       
    Если отрезать первые 5 секунд записи, то время запуска выравнивается:
       
    Но отрезание последних 5-10 секунд почему-то не приводит к выравниванию времени остановки и продолжительности дорожек:
       
    Кстати, а какой командой можно отрезать последние 5 секунд без указания общей продолжительности?
    Ссылка на тестовые файлы
     
    Так же, буду признателен, если кто-то научит как посмотреть через CLI параметры времени запуска и остановки дорожек.

    Всего записей: 1141 | Зарегистр. 31-07-2002 | Отправлено: 11:13 20-12-2018 | Исправлено: NikosColev, 11:20 20-12-2018
    NikosColev



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Mediainfo для ts-файлов выводит параметр:
    Delay relative to video                  : -46 ms
    Для записанных из того же исходника но в mov/mp4, не выводит.
    QTP для них показывает разницу во времени запуска 5 мс.
     
    Добавлено:
    Отрезал первые 3 секунды у ts-пакета скачанного wget...
     
    Было:  Delay relative to video                  : -61 ms;
    Стало: Delay relative to video                  : -781 ms.
     
    https://yadi.sk/d/NDlV1JycFZVVoQ
     
    Как всё... непросто устроено в форматах видео.

    Всего записей: 1141 | Зарегистр. 31-07-2002 | Отправлено: 16:46 20-12-2018
    Masutin



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    1) Для libmp3lame возможно значение V (VBR level)? Или только то, что указано для libmp3lame в справке FFmpeg? Например, есть -q. Heясно, чему соответствует.
    2) NikosColev, недавно мне помогли co скриптом для резки по времени от конца.
    Код:
    set d=Cut
    set cut_s=5
    if not exist "%d%" md "%d%"
    for /f "delims=" %%f in ('dir /a-d/b "*.m*"') do (
    for /f "delims=." %%x in ('"MediaInfo.exe --Inform=General;%%Duration/String3%% "%%f""') do call :cut "%%x" "%%f")
    :cut
    set total=%~1
    set /a sec_total=(3600*(1%total:~0,2%-100)+60*(1%total:~3,2%-100)+1%total:~6,2%-100)-cut_s
    set /a h=sec_total/3600%%24,m=sec_total%%3600/60,s=sec_total%%3600%%60
    set h=0%h%& set m=0%m%& set s=0%s%
    ffmpeg -v quiet -ss 0 -i "%~2" -to "%h:~-2%:%m:~-2%:%s:~-2%" -c copy "%d%\%~2"&&del "%~2"&exit /b

    Всего записей: 420 | Зарегистр. 23-02-2007 | Отправлено: 00:34 31-12-2018
    V0lt



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Обнаружил баг, если резать MP4 используя комнды "-ss" и "to". Начало файла портится.
    Написал тикет #7651.

    Всего записей: 9400 | Зарегистр. 05-02-2003 | Отправлено: 15:42 02-01-2019
    los

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

    Цитата:
    Обнаружил баг, если резать MP4 используя комнды "-ss" и "to". Начало файла портится.

    Спасибо, v4.0.2 портит начало.

    Всего записей: 4866 | Зарегистр. 08-09-2001 | Отправлено: 17:42 02-01-2019
    Druoid

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    А можно ли сделать команду, которую можно натравить на папку с видео-файлами, для извлечения аудио без переконвертации?

    Всего записей: 136 | Зарегистр. 01-01-2019 | Отправлено: 01:17 08-01-2019
    los

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Druoid,
    Думаю, можно реализовать при помощи скрипта(баш или бат), но это просто если файлы содержат аудио в одинаковом формате.

    Всего записей: 4866 | Зарегистр. 08-09-2001 | Отправлено: 20:43 08-01-2019
    Alex_Piggy

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Доброе время, Druoid
    Данных недостаточно для осмысленного ответа (с) Азимов. Скорее всего можно. Подробнее...

    Всего записей: 1847 | Зарегистр. 07-08-2002 | Отправлено: 21:36 08-01-2019
    Druoid

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    los
    Где-то в теме была простая команда для извлечения m4a (AAC) дорожки из MP4 файлов, но я не смог её найти, толи была ещё одна часть темы. Сейчас, хотелось бы команду для извлечения m4a (AAC) и opus аудиодорожек из MP4 и MKV/WEBM соответственно.
     
    Alex_Piggy
    Простите, но я не силён в батниках, поэтому не в курсе, что нужно изменить, чтобы заработало, но исчерпывающая информация выше. Было бы круто иметь универсальный батник для любых видео/аудио форматов, на который бы можно было кидать как папки, так и файлы, но он, наверное, будет гигантским.

    Всего записей: 136 | Зарегистр. 01-01-2019 | Отправлено: 21:55 08-01-2019
    Alex_Piggy

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

    Цитата:
    Где-то в теме была простая команда для извлечения m4a (AAC) дорожки из MP4 файлов

    ffmpeg -i in.mp4 -c:a copy out.aac

    Цитата:
    Простите, но я не силён в батниках, поэтому не в курсе, что нужно изменить, чтобы заработало, но исчерпывающая информация выше.

    Простите, а я не знаю, что и как Вы пытаетесь запускать и из-за чего не работает то, что работает у меня.
    Для связи между расширением и форматом аудиопотока можно подобавлять кучу строк типа
    if "%audioFMT%"=="mp3lame" set "audioEXT=mp3"
    Нужны ffmpeg и ffprobe в путях. Все.  
    Если в путях нет - положите рядом с батником и добавьте второй строкой
    cd /d "%~dp0"
    Для файлов и папок - менять немногое. Подробнее...
    UPD : исправлено для нескольких дорожек в файле.
    UPD2 : добавлено -vn. Спасибо los

    Всего записей: 1847 | Зарегистр. 07-08-2002 | Отправлено: 22:25 08-01-2019 | Исправлено: Alex_Piggy, 05:58 09-01-2019
    los

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

    Цитата:
    Где-то в теме была простая команда для извлечения m4a (AAC) дорожки из MP4 файлов

    для aac
    ffmpeg -i in.mp4 -vn -acodec copy out.aac
    для m4a
    ffmpeg -i in.mp4 -vn -acodec copy out.m4a
     
    Alex_Piggy

    Цитата:
    ffmpeg -i in.mp4 -c:a copy out.aac  

    попробуйте так с m4a

    Всего записей: 4866 | Зарегистр. 08-09-2001 | Отправлено: 23:30 08-01-2019
    Alex_Piggy

    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    los
    Пожалуйста, объясните подробнее. К сожалению, у меня сейчас нет видео с "чистым" m4a.  
    Пример с нагугленным m4a работает (аудио/аудио).
    Stream #0:0(und): Audio: aac (mp4a / 0x6134706D)
    ffmpeg -i https://example-files.online-convert.com/audio/m4a/example.m4a -c:a copy out.aac

    Всего записей: 1847 | Зарегистр. 07-08-2002 | Отправлено: 23:48 08-01-2019
    los

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Alex_Piggy,
    ffmpeg -i in.mp4 -c:a copy out.m4a
    конвертирует видео и копирует аудио, в рассматриваемом случае нужен еще ключ чтобы просто извлечь аудио.
    т.е. ваше
    ffmpeg -i in.mp4 -c:a copy out.aac
    приемлемо для aac, но не подойдет для m4a.

    Всего записей: 4866 | Зарегистр. 08-09-2001 | Отправлено: 00:30 09-01-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

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