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

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

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

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
    DWZ

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Пардон, я _S_tts имел в виду. Тот, который задаёт время кадра. Когда ffmpeg ругается на mailformed AAC stream, она плодит несколько записей с разными дельтами, VLC же делает строго одну запись, как и должно быть.
     
    Добавлено:
    Upd. Нашёл один файлик. Там вообще stts по одной штуке  
     
    1024-1023-1025-1024-1023-1025-912(!!!) и дальше одна запись по 1024. Веселье в том, что в mdhd time scale=24000, то есть кадровая чатота получается 24000/1024=23,4375, что ни в какие ворота.
     
    Как сюда рисунок выложить?
     
    Добавлено:
    Вот интересующий фрагмент
    ----
          type stts
           version = 0 (0x00)
           flags = 0 (0x000000)
           entryCount = 8 (0x00000008)
            sampleCount = 1 (0x00000001)
            sampleDelta = 1024 (0x00000400)
            sampleCount[1] = 1 (0x00000001)
            sampleDelta[1] = 1023 (0x000003ff)
            sampleCount[2] = 1 (0x00000001)
            sampleDelta[2] = 1025 (0x00000401)
            sampleCount[3] = 1 (0x00000001)
            sampleDelta[3] = 1024 (0x00000400)
            sampleCount[4] = 1 (0x00000001)
            sampleDelta[4] = 1023 (0x000003ff)
            sampleCount[5] = 1 (0x00000001)
            sampleDelta[5] = 1025 (0x00000401)
            sampleCount[6] = 1 (0x00000001)
            sampleDelta[6] = 912 (0x00000390)
            sampleCount[7] = 19339 (0x00004b8b)
            sampleDelta[7] = 1024 (0x00000400)
     
    ----
     
    Если попадётся такой TS-файл, его высылать? Он может быть мегов под 300

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

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

    Цитата:
    Пардон, я _S_tts имел в виду.

    уверены?

    Цитата:
    Когда ffmpeg ругается на mailformed AAC stream, она плодит несколько записей с разными дельтами

    aac - это audio stream в контейнере, вы начали с того что проблемы с video stream.

    Цитата:
    Веселье в том, что в mdhd time scale=24000, то есть кадровая чатота получается 24000/1024=23,4375, что ни в какие ворота.  

    я не настолько хорошо разбираюсь в строении mov/mp4 контейнера как вы поэтому посмотрите картинку с stts и чуть выше увидите значение timescale. Можете посчитать
    кадровую частоту для этого файла?


    Цитата:
    Как сюда рисунок выложить?  

    [img]адрес картинки[/img]

    Цитата:
    Если попадётся такой TS-файл, его высылать?  Он может быть мегов под 300

    выкладывайте и проблемный mp4 тоже.
     
     
    Добавлено:
    для картинок можете просто ссылку давать

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

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    > aac - это audio stream в контейнере, вы начали с того что проблемы с video stream.  
     
    Проблемы с аудио на входе приводят к проблемам с видео на выходе. А вообще первичная проблема с PTS. Именно на неё ругается ffmpeg и требует задать ключи для пережатия аудио. Возможно, ffmpeg криво исправляет PTS, из-за чего появляется кривой тайминг звука, а затем хочет пережать звук, чтоб подтянуть его тайминг к к кривому таймингу видео.  
     
    > Можете посчитать
    кадровую частоту для этого файла?  
     
    Могу. Только для этого мне sTTs нужен. На Вашей картинке он так и называется "Sample to time". А stSS - это номера ключевых кадров.
     
    > для картинок можете просто ссылку давать
     
    Да это понятно. Хостинг лучше какой? А то на i.imgur.com телефон требуют, а я его светить не хочу.
     
    > выкладывайте и проблемный mp4 тоже.
     
    Только конфиденциально. А то борцы за авторские права голову свернут ((

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

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

    Цитата:
    Проблемы с аудио на входе приводят к проблемам с видео на выходе. А вообще первичная проблема с PTS. Именно на неё ругается ffmpeg и требует задать ключи для пережатия аудио. Возможно, ffmpeg криво исправляет PTS, из-за чего появляется кривой тайминг звука, а затем хочет пережать звук, чтоб подтянуть его тайминг к к кривому таймингу видео.

    смело, заумно, непонятно только: впечатление произвести хотели или сказать чего?

    Цитата:
    Могу. Только для этого мне sTTs нужен.

    не нужно, важно было понять к чему упомянуты все эти moov,pts, stsd и другие жуткие термины.
    Лирическое отступление:
    вы когда речь ведете о частоте кадров, что имеете в виду частоту в контейнере или частоту raw видео потока?

    Цитата:
    Хостинг лучше какой? А то на i.imgur.com телефон требуют, а я его светить не хочу.  

    какой вам удобнее, здесь даже тема есть http://forum.ru-board.com/topic.cgi?forum=11&topic=4219#1

    Цитата:
    Только конфиденциально. А то борцы за авторские права голову свернут ((

    понятно.
     

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

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

    Цитата:
    впечатление произвести хотели или сказать чего?

     
    Хотел дать специалистам по ffmpeg инофрмацию для принятия решения, чтобы просветили меня, где копать.
     
    Кстати, лог ffmpeg сохранить как-то можно?
     

    Цитата:
    вы когда речь ведете о частоте кадров, что имеете в виду частоту в контейнере или частоту raw видео потока?  

     
    Пока в контейнере, ffmpeg лезть ниже, по идее не должна, хотя PTS правит, да и DTS в аудио тоже. Не хотелось бы лезть на уровень глубже, я и так на MP4 столько сил положил.
     

    Цитата:
    здесь даже тема есть

     
    Погляжу. Файл будет в ночь с понедельника на вторник. Если только те, от кого это зависит не узнАют себя здесь, не устыдятся и не исправят )))))), но шансов мало.
     
     
    Добавлено:
    Кстати, какой хостинг для него посоветуете?

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

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

    Цитата:
    Хотел дать специалистам по ffmpeg инофрмацию для принятия решения, чтобы просветили меня, где копать.  

    Т.е. я правильно понимаю что вы преобразовав *.ts в *.mp4 при помощи ffmpeg (версия такая-то, ОС такая-то ) команда допустим
    $ ffmpeg -i in.ts -c copy out.mp4
    получили файл с отличной от исходного частотой кадра что отображается в отчете mediainfo, например так

    в результате чего(по вашему мнению) проявляются визуальные дефекты при просмотре.
    При преобразовании с помощью ffmpeg в *.mkv, другими программами в *.mp4, извлечении raw потоков с последующей упаковкой в *.mp4 дефектов не наблюдается.
    Преобразовав с помощью ffmpeg только видео поток из *.ts в *.mp4 вы дефектов не обнаружили что дает вам повод считать что проблема в audio, pts(и как вы там ранее писали) и т.д. и т.п.?

    Цитата:
    Кстати, лог ffmpeg сохранить как-то можно?  

    да, см. https://ffmpeg.org/ffmpeg.html

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

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

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

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

    Цитата:
    что ещё хуже - ffmpeg...

    какой смысл использовать ffmpeg если он не справляется с поставленной задачей в отличие от других программ?

    Цитата:
    приводит битрейт к 128 кбит/с

    ключ -b:a 192k

    Цитата:
    mkv для меня - вариант, нужно именно mp4.


    Цитата:
    Ну, я так глубоко не копал.


    Цитата:
    проблема в pts - ругается сама ffmpeg  

    но вы ведь должны убедится что дело именно в создании *.mp4 с помощью ffmpeg? И тот же ffmpeg создает *.mp4 без ошибок с одним видео потоком.

    Цитата:
    Ну, это не ответ...

    хм. один из вариантов
    $ ffmpeg -report -i in.ts -c copy out.mp4  
     
     
    К чему это все:
    ffmpeg - как и любая другая программа может содержать ошибки и т.д. Нужно понять причину, а затем уже искать дополнительные ключи или отказаться от использования ffmpeg в конкретном случае.
     
    У вас изначально ffmpeg не справляется с поставленной задачей и если дело не в исходном файле, то зачем использовать ffmpeg с фильтрами мне лично непонятно.

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



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

    Цитата:
    Кстати, лог ffmpeg сохранить как-то можно?

    Лог в текущем каталоге. Под линем.

    Код:
    FFREPORT=file=ffreport.log:level=NN
     
    ffmpeg -hide_banner -report .....

    Иногда действительно надо сохранить, чтобы потом просмотреть спокойно.
    В винде соотв. синтаксис установки переменной.
     
    зы\ Тонкие вопросы по ffmpeg обычно бесполезно задавать на RU ресурсах.

    Всего записей: 2042 | Зарегистр. 30-06-2008 | Отправлено: 12:55 14-10-2019
    DWZ

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

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

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    DWZ,
    для меня, как бы, все просто - если ffmpeg не справляется
    $ ffmpeg -i 1.ts -c copy out.mp4
    то использовать его для этой операции смысла нет(при условии что другие программы дают нужный результат)
    если не получается выложить исходный *.ts и проблемный *.mp4
    попробуйте выполнить
    $ mp4box -no-iod -for-test -add in.ts -new out.mp4
    и сравните результат с файлом полученным вами ранее при помощи ffmpeg
    будут ли искажения при воспроизведении и т.д.

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

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

    Цитата:
    если не получается выложить исходный *.ts

     
    К сожалению, файл, на который я рассчитывал, отконвертировался без проблем. Но когда такой попадётся, а он попадётся обязательно - дам знать.
     

    Цитата:
    попробуйте выполнить
    $ mp4box -no-iod -for-test -add in.ts -new out.mp4
    и сравните результат с файлом полученным вами ранее при помощи ffmpeg  

     
    Спасибо за совет!  
     
    Добавлено:
    P.S. Кстати, от версии ffmpeg тоже зависит. Прямо сейчас был случай, когда версия от 01/02/18 ругалась на AAC mailformed stream и не смогла сконвертировать без пережатия звука, а от 04/07/18 не ругалась и смогла. Только там в обоих случаях на PTS НЕ ругались и постоянная частота кадров получилась, т.е. не наш случай.
     
    Так что народ, обновляйте ffmpeg. От всех проблем не избавит, но хотя бы от некоторых.

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



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

    Цитата:
    обновляйте ffmpeg. От всех проблем не избавит, но хотя бы от некоторых.

    Я бы уточнил что важно использовать не ночные (текущие) а стабильные сборки отсюда с указанием версии (например, 3.2, 4.0, 4.2.1 и т.д.). Много раз замечалось что ночнушки могут работать некорректно. Также бывает и наоборот, что более старые версии могут выполнять отдельные задачи лучше либо что-то в новых версиях может не работать совсем.

    Всего записей: 4432 | Зарегистр. 05-01-2006 | Отправлено: 06:57 15-10-2019
    los

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

    Цитата:
    Так что народ, обновляйте ffmpeg. От всех проблем не избавит, но хотя бы от некоторых.

    Ну, как бы об этом вам ранее открытым текстом писали, попутно намекая, что вы выбрали не самый правильный путь решения проблемы.
    А вы сразу - moov, pts
    Впрочем проблему вы свою решили и это - главное.

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

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подробнее...
     
    Добавлено:
    Ура! Проблема, кажется решена. Дело действительно в версии.
     
    Старая версия от 01.02.18 всё время ругалась
     

    Цитата:
    Invalid UE golomb code
    [mp4 @ 000000000069f3a0] pts has no value
     

     
    отработала всего 13 КАДРОВ  и встала. Зато получился честный MP4 - moov, постоянная частота кадров. Без звука (ключ -an) получился файл нормальной длительности, постоянная частота кадров, и никакие коды Голомбо почему-то не указ.
     
    Новая же версия от 13.10.19 и даже средняя от 04.07.18 всё время ругались уже  на другое
     

    Цитата:
    [h264 @ 00000000005fd480] ct_type:0 pic_struct:1
    [h264 @ 00000000005fd480] ct_type:0 pic_struct:2
     

     
    и MP4 получился нормальный.

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

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

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

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    DWZ,
    помогать вам, конечно, - дело на любителя, но...
    сейчас в ходу две версии mp4box - 8 и 9(filters) какую использовали вы?
    Как выглядела команда которую вы использовали? Указывали ли там fps?

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

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

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

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

    Цитата:
    Я могу заплатить , если Вы об этом

    Видимо, не ваша черта не только благодарность, но и вежливость. И похоже это последнее сообщение от меня адресованое вам.

    Цитата:
    Восьмую. А где можно взять девятую?  

    https://gpac.wp.imt.fr/downloads/gpac-filters-branch/

    Цитата:
    Очень много ругалось на PCR, аж в глазах рябило  

    Что мешает проверить исходный файл? Опять вам прямо не сказали?
    https://tsduck.io
    коммерческие
    https://www.jongbel.com
    и от отечественного производителя(кстати, народ там весьма отзывчивый)
    https://www.elecard.com

    Цитата:
    Нет. А есть ли какой ключ против такой обрезки?

    не знаю что вы понимаете под обрезкой, но под fps подразумевалось, то чем вы во многих случаях не довольны -   frame rate
    mp4box позволяет это делать.
    Здесь исходный *.ts с fps 25 и *.mp4 c fps 30 (для контейнера) плюс спецификация от apple.
    https://workupload.com/file/ZVT7Fkjg
    SHA256 (DWZ.tgz) = 5f67f6768d763079ca7f181d8b76c8ff5291d15992053c8e28458c0190a5d1fc

    Всего записей: 4971 | Зарегистр. 08-09-2001 | Отправлено: 16:19 19-10-2019 | Исправлено: los, 16:21 19-10-2019
    DWZ

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    los
     
    Спасибо за документацию!
     
    Всем
     
    Люди, будьте бдительны. Восьмой mp4box не обрабатывает переход PTS через 0, причём именно PTS, хотя ругается на PCR. Обрезает точно на этот момент+1 кадр.
     
    А девятый ругается уже на DTS.
     
    Добавлено:
    Забыл добавить, что ключ -fps проблему не решает.

    Всего записей: 21 | Зарегистр. 09-10-2019 | Отправлено: 11:04 21-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

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

    Рейтинг.ru