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

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

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

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
    NikosColev



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

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

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

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

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

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



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

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

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

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

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

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



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

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

    Всего записей: 1165 | Зарегистр. 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 (такое возможно), то это объяснит разницу в медиаинфо?

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

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



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

    Всего записей: 1165 | Зарегистр. 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
     
    Как всё... непросто устроено в форматах видео.

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

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



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

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

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

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

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

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

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

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

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

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

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

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

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

    Gold 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

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

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

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

    Всего записей: 5906 | Зарегистр. 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 62 63 64 65 66 67 68

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