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

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



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

    Цитата:
    Шапка темы > Страница загрузки > Windows builds from gyan.dev > release-builds > latest release version: 6.0 2023-03-04
    https://www.gyan.dev/ffmpeg/builds/#release-builds
    Спасибо

    Цитата:
    Параметры видеопотока, естественно. Еще сколько раз спросите, вместо того чтобы просто сделать, что вам предложили?
    Комп не всегда доступен, потому я и навожу дополнительные справки, дабы потом при пережатии вопросов не было

    Цитата:
    Предложу еще такой вариант
    О, вот это уже ближе, к тому что нужно. Спасибо. Хотя при перевод ass в srt там ляпаются данные, что идут перед тегами, тем самым запарывая сабы (как минимум нужно думать, как вычищать этот "мусор").  
     
    los,

    Цитата:
    команда неправильная, должно быть:
     
    ffmpeg -sub_charenc CP1251 -i in.ass out.srt  
    И вправду. Так действительно работает. А ведь я уже пробовал эту команду. Но тем же макаром и скипнул этот вариант как нерабочий. Спасибо.
    Цитата:
    Для этого используются программы для определения кодировки - uchardet и подобные.
    Это никсовые тулзы или есть виндовые реализации ? Коль знал бы о них, так бы не маялся.

    Цитата:
    Какой-то странный iconv, можете выложить исходный и полученный файлы? И напишите команду для iconv которую использовали.
    cygwin'овский. Команда
    Код:
    iconv -f cp1251 -t utf8
    только для сабов в utf-8 BOM это всё равно без толку - текст при таком проходе превращается в кракозябры. ffmpeg их далее уже по этой причине запарывает, если срезать BOM переведённый в текст.

    Всего записей: 2090 | Зарегистр. 19-09-2011 | Отправлено: 07:43 03-04-2023 | Исправлено: Baltazar500, 07:58 03-04-2023
    los

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

    Цитата:
    Это никсовые тулзы или есть виндовые реализации ?

    есть реализация на python, да и раз установлен cygwin скорее всего можно собрать uchardet и т.п. под windows.
     

    Цитата:
    если срезать BOM переведённый в текст.

    при правильном удалении bom должен получаться нормальный utf(8/16/32), но и в случае c bom можно опробовать указать кодировку явным способом '-sub_charenc UTF8' возможно тогда ffmpeg обработает файлы правильно.

    Всего записей: 7334 | Зарегистр. 08-09-2001 | Отправлено: 09:45 03-04-2023
    MMasutin

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Oб AAC.
    1. Причина такой разной скорости преобразования 2.0 - 1.0?
    a) native - native (-map_channel или -ac 1) - 30x (Cохраняет канал без кодирования?)
    b) native - libfdk_aac aac_he - 50x
    2. Лучше
    a) native aac_he_v2 или
    b) libfdk_aac aac_he (v2 нет)?

    Всего записей: 71 | Зарегистр. 05-01-2021 | Отправлено: 23:08 03-04-2023
    Gideon Vi

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

    Цитата:
    Причина такой разной скорости преобразования

    разные кодеки

    Всего записей: 8084 | Зарегистр. 02-02-2004 | Отправлено: 03:19 04-04-2023
    V0lt



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вопрос по ffprobe.exe.
    Как вытащить инфу о первых 10 пакетов аудио из MP4? Размер пакета, отметки времени и прочее.

    Всего записей: 10493 | Зарегистр. 05-02-2003 | Отправлено: 06:22 05-04-2023
    mithridat1



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

    Цитата:
     Как вытащить инфу о первых 10 пакетов аудио из MP4? Размер пакета, отметки времени и прочее.

    ffprobe -loglevel error -select_streams a -show_entries packet=pts_time,size -of csv=print_section=0 -read_intervals %+#10 video.mp4
     
    либо, если нужно больше инфы
     
    ffprobe -loglevel error -select_streams a -show_frames -print_format json=c=0 -read_intervals %+#10 video.mp4

    Всего записей: 4941 | Зарегистр. 05-01-2006 | Отправлено: 07:17 05-04-2023 | Исправлено: mithridat1, 07:18 05-04-2023
    V0lt



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

    Код:
    Invalid interval start specification '#10'
    Error parsing read interval #0 '+#10'
    Failed to set value '+#10' for option 'read_intervals': Invalid argument

     
    Добавлено:
    Если удвоить знак процентов, тогда скрипты работают нормально. Спасибо.
    Пример:

    Код:
    ffprobe -i "clip.mp4" -select_streams a -show_frames -read_intervals %%+#10 > _ffprobe_audio.txt

    Всего записей: 10493 | Зарегистр. 05-02-2003 | Отправлено: 20:12 05-04-2023
    Stasx

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Может кому интересно.
    На офсайте два вида билдов для Win: gyan и BtbN. Они имеют разное наполнение (full-версии).
     
    Общие ключи:
    disable: w32threads
    enable: amf, avisynth, chromaprint, cuda-llvm, ffnvcodec, fontconfig, frei0r, gmp, gpl, iconv, libaom, libaribb24, libass, libbluray, libdav1d, libdavs2, libfreetype, libfribidi, libgme, libjxl, libmp3lame, libopencore-amrnb, libopencore-amrwb, libopenjpeg, libopenmpt, libopus, libplacebo, librav1e, librist, librubberband, libshaderc, libsoxr, libsrt, libssh, libsvtav1, libtheora, libtwolame, libuavs3d, libvidstab, libvmaf, libvorbis, libvpl, libvpx, libwebp, libx264, libx265, libxavs2, libxml2, libxvid, libzimg, libzvbi, lzma, opencl, sdl2, shared, version3, vulkan, zlib
     
    Есть только у gyan:
    disable: autodetect
    enable: bzlib, cuvid, d3d11va, dxva2, gnutls, ladspa, libbs2b, libcaca, libcdio, libflite, libgsm, libilbc, liblensfun, libmodplug, libmysofa, libshine, libsnappy, libspeex, libvo-amrwbenc, libzmq, mediafoundation, nvdec, nvenc
     
    Есть только у BtbN:
    disable: debug, libdrm, libfdk-aac, libmfx, libpulse, libxcb, static, vaapi, xlib
    enable: libkvazaar, libopenh264, lv2, openal, pthreads, schannel
     
    Поддержка libfdk-aac есть в сборке от Mplayer (https://sourceforge.net/projects/mplayer-win32/files/FFmpeg/) через доп. библиотеку libfdk-aac-2.dll.
    Но в ней нет QSV (Intel Quick Sync Video) для аппаратного кодирования на процессорах Intel.

    Всего записей: 121 | Зарегистр. 10-10-2007 | Отправлено: 23:33 14-04-2023 | Исправлено: Stasx, 23:52 14-04-2023
    yasha_sokolov

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Stasx
    в копилку, с поддержкой libfdk-aac сборку для Windows беру здесь:
    https://github.com/AnimMouse/ffmpeg-stable-autobuild/

    Всего записей: 40 | Зарегистр. 04-06-2018 | Отправлено: 00:27 15-04-2023 | Исправлено: yasha_sokolov, 03:22 15-04-2023
    C1eriC



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Подскажите, пжл, как пакетно преобразовать сразу много mp3 файлов (ускорить воспроизведение)?
    Один файл я научился ускорять:

    Код:
    ffmpeg.exe -i "input.mp3" -af atempo=1.25 "output.mp3"

    А как подать утилите на вход сразу целую папку (или список файлов)?
     
    ЗЫ И возможно ли при этом, сохранить дату файла? (иначе output.mp3 будет сегодняшним числом)

    Всего записей: 950 | Зарегистр. 15-06-2013 | Отправлено: 14:49 19-04-2023 | Исправлено: C1eriC, 14:52 19-04-2023
    Gideon Vi

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    C1eriC
    https://www.sendspace.com/file/nqhy8z

    Всего записей: 8084 | Зарегистр. 02-02-2004 | Отправлено: 15:14 19-04-2023
    los

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

    Цитата:
    ffmpeg.exe

    Речь идет о Windows? Тогда продублируйте вопрос в теме про батники возможно там ответят быстрее.
     

    Цитата:
    ЗЫ И возможно ли при этом, сохранить дату файла? (иначе output.mp3 будет сегодняшним числом)

    У самой программы ffmpeg такой возможности нет, но вы можете воспользоваться сторонними программами или подобным способом
    _https://stackoverflow.com/questions/71099760/ffmpeg-keep-file-creation-and-modification-dates-when-encoding-resizing-multiple
    насколько он действенный и правильное ли там решение - не знаю.

    Всего записей: 7334 | Зарегистр. 08-09-2001 | Отправлено: 15:21 19-04-2023
    351878



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    простой трим:
     ffmpeg -i input -ss 01:30:15 -to 02:30:15 -c:v copy -c:a copy output
     
    при воспроизведении первые 1-3 сек картинка стоит. что то можно добавить чтоб пролечить? это как то связано с ключевыми кадрами?

    Всего записей: 994 | Зарегистр. 28-03-2016 | Отправлено: 15:59 19-04-2023
    C1eriC



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

    Всего записей: 950 | Зарегистр. 15-06-2013 | Отправлено: 16:12 19-04-2023
    351878



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

    Цитата:
    это как то связано с ключевыми кадрами?  

    сабжик может как то ключевой кадр в начале обрезки обнаруживать сам ?

    Всего записей: 994 | Зарегистр. 28-03-2016 | Отправлено: 16:52 19-04-2023
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    351878, попробуйте;
    ffmpeg -ss 01:30:15 -i input -to 02:30:15 -c:copy output

    Всего записей: 7334 | Зарегистр. 08-09-2001 | Отправлено: 18:59 19-04-2023
    351878



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

    Цитата:
    -c:copy output
    -c:copy без пробела с ошибкой падает. ну не суть.
     
     
    да, картинка не мёрзнет, но например:
    ffmpeg -ss 00:01:46 -i input -to 00:03:55 -c: copy output
    режет ролик с началом 00:01:46 длиной 00:03:55, а не концом.

    Всего записей: 994 | Зарегистр. 28-03-2016 | Отправлено: 21:39 19-04-2023 | Исправлено: 351878, 21:40 19-04-2023
    los

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

    Цитата:
    -c:copy без пробела с ошибкой падает. ну не суть.  

    ошибся когда писал, нужно '-c copy'

    Цитата:
    режет ролик с началом 00:01:46 длиной 00:03:55, а не концом.  

    Для '-to' укажите нужную длину, не так удобно как в вашем изначальном варианте, но главная проблема, как я понимаю, решается.

    Всего записей: 7334 | Зарегистр. 08-09-2001 | Отправлено: 22:27 19-04-2023
    351878



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

    Цитата:
    но главная проблема, как я понимаю, решается

    с грехом пополам, как говорится).  
    не пойму искать ли более изящного решения.

    Всего записей: 994 | Зарегистр. 28-03-2016 | Отправлено: 22:34 19-04-2023
    ewild

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

    Цитата:
    сабжик может как то ключевой кадр в начале обрезки обнаруживать сам ?


    Цитата:
    при воспроизведении первые 1-3 сек картинка стоит. что то можно добавить чтоб пролечить? это как то связано с ключевыми кадрами?

    Using -ss as input option together with -c:v copy might not be accurate since ffmpeg is forced to only use/split on i-frames. Though it will—if possible—adjust the start time of the stream to a negative value to compensate for that. Basically, if you specify "second 157" and there is no key frame until second 159, it will include two seconds of audio (with no video) at the start, then will start from the first key frame. So be careful when splitting and doing codec copy.
    https://trac.ffmpeg.org/wiki/Seeking#Seekingwhiledoingacodeccopy
     
    Добавлено:

    Цитата:
    режет ролик с началом 00:01:46 длиной 00:03:55, а не концом.  

    To extract only a small segment in the middle of a movie, it can be used in combination with -t which specifies the duration, like -ss 60 -t 10 to capture from second 60 to 70. Or you can use the -to option to specify an out point, like -ss 60 -to 70 to capture from second 60 to 70. -t and -to are mutually exclusive. If you use both, -t will be used.
    Note that if you specify -ss before -i only, the timestamps will be reset to zero, so -t and -to will have the same effect. If you want to keep the original timestamps, add the -copyts option.

    https://trac.ffmpeg.org/wiki/Seeking#Cuttingsmallsections

    Всего записей: 1195 | Зарегистр. 13-08-2005 | Отправлено: 01:20 20-04-2023 | Исправлено: ewild, 01:23 20-04-2023
    Открыть новую тему     Написать ответ в эту тему

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