Форум программистов, компьютерный форум, киберфорум
Программирование мультимедиа
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.78/37: Рейтинг темы: голосов - 37, средняя оценка - 4.78
3 / 3 / 0
Регистрация: 16.08.2020
Сообщений: 97

Кто шарит по FFMPEG C++? (Годовалая оказия)

29.10.2023, 18:29. Показов 8456. Ответов 32
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем с января примерное разбирался с библиотекой ffmpeg. Прочитал кучу всякой документации. В итоге вроде так не очень осела в голове мысль о ее применении. В итоге написал код, пусть небольшой чего там лукавить. В итоге пришел к выводу что сама библиотека похоже имеет косяк.

Например, если я использую в качестве источника обычный готовый видео файл (не важно каким кодеком он был создан, в каком контейнере был сохранен) то он вроде как перекодируется в контейнер (не важно) кодеком HEVC, для меня такая часть была не интересная.

Проблема началась когда я решил захватить rtsp поток с камеры, в общем видео захватывается, сохраняется в файл. Но запись онлаин длится ровно < 7 минут примерно нормально.

А вот если я хочу записывать уже например 10 минут, то увы..как я не крутился и не искал решения, проблема проявляется таким образом что сама библиотека выдает сообщение типа :
- то pts < dts то наоборот pts >= dts или нехватка памяти.

По итогу потратил 10 месяцев почти и такая шляпа. Облазил все форму и создавал темы никто ничего не отвечает, прям тайна что ли какая та ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
29.10.2023, 18:29
Ответы с готовыми решениями:

Люди, кто шарит в этих системах счисления и прочем, поможет кто?
Люди, кто шарит в этих системах счисления и прочем?

Кто порешает пожалуйста, я немного туповат не понимаю, сделайте с комментариями, кто шарит
1) Ввод и вывод массива осуществлять в одну строку, Задан целочисленный массив размером N. Поменять местами серии с минимальной и...

кто шарит?
кто может помочь, если есть время и желание помочь. Нужно сделать прогу где по форме будет двигаться какой-то объект и будет отбиваться от...

32
2 / 2 / 0
Регистрация: 11.08.2015
Сообщений: 107
31.10.2023, 12:58
Студворк — интернет-сервис помощи студентам
Потому что другие пакеты не исправляются.
Ошибка прямо говорит о том, что pts не может быть меньше dts. Вот и делать условие под это
C++
1
2
3
4
5
if ((outputPacket->dts <= lastdts) && (lastdts != NULL)) {
     outputPacket->dts++;
}
if(outputPacket->pts < outputPacket->dts)
    outputPacket->pts = outputPacket->dts;
0
3 / 3 / 0
Регистрация: 16.08.2020
Сообщений: 97
31.10.2023, 13:06  [ТС]
Цитата Сообщение от Jio Посмотреть сообщение
Вот и делать условие под это
C++
1
2
3
4
5
6
7
                        
 
if ((outputPacket->dts <= lastdts) && (lastdts != NULL)) {
  outputPacket->dts++;
}
if (outputPacket->pts < outputPacket->dts)
  outputPacket->pts = outputPacket->dts;
C++
1
2
3
4
5
6
7
8
9
[h264 @ 000002af694d6b00] concealing 7941 DC, 7941 AC, 7941 MV errors in P frame
[h264 @ 000002af694d6b00] concealing 2263 DC, 2263 AC, 2263 MV errors in P frame
[h264 @ 000002af694d6b00] Increasing reorder buffer to 1
[h264 @ 000002af694d6b00] concealing 1978 DC, 1978 AC, 1978 MV errors in P frame
[h264 @ 000002af694d6b00] concealing 3270 DC, 3270 AC, 3270 MV errors in P frame
[rtsp @ 000002af67622b80] CSeq 6 expected, 0 received.
[h264 @ 000002af694d6b00] concealing 2498 DC, 2498 AC, 2498 MV errors in P frame
[mp4 @ 000002af694abc80] Application provided invalid, non monotonically increasing dts to muxer in stream 0: 275593 >= 256185
FFmpeg Error: Cannot allocate memory
Добавлено через 23 секунды
Там похоже NOPS КАДРЫ КАКИЕ НИБУДЬ
0
2 / 2 / 0
Регистрация: 11.08.2015
Сообщений: 107
31.10.2023, 13:16
Ошибка говорит о том, чтобы увеличение dts было на одинаковое число.
Пробовать увеличивать dts на одинаковое число, смещая всё остальные dts у пакетов.
А перед этим пробовать av_write_frame вместо av_interleaved_write_frame
0
3 / 3 / 0
Регистрация: 16.08.2020
Сообщений: 97
31.10.2023, 14:29  [ТС]
Цитата Сообщение от Jio Посмотреть сообщение
av_write_frame вместо av_interleaved_write_frame
Этот вариант не работает.
0
2 / 2 / 0
Регистрация: 11.08.2015
Сообщений: 107
31.10.2023, 14:36
Вообще надо на весь список dts pts посмотреть, что приходит с камеры, после кодирования и уже расставлять исправления.
0
3 / 3 / 0
Регистрация: 16.08.2020
Сообщений: 97
31.10.2023, 17:54  [ТС]
Цитата Сообщение от Jio Посмотреть сообщение
Вообще надо на весь список dts pts посмотреть, что приходит с камеры, после кодирования и уже расставлять исправления.
Тогда подскажите как это сделать, более детально, программа есть какая та или нужно вывести какие то значения ?
0
2 / 2 / 0
Регистрация: 11.08.2015
Сообщений: 107
31.10.2023, 23:45
просто в cout вывести dts и посмотреть странности
0
3 / 3 / 0
Регистрация: 16.08.2020
Сообщений: 97
01.11.2023, 18:14  [ТС]
Цитата Сообщение от Jio Посмотреть сообщение
просто в cout вывести dts и посмотреть странности
log.rar
0
2 / 2 / 0
Регистрация: 11.08.2015
Сообщений: 107
02.11.2023, 11:36
из кодека пришёл пакет
dts: 3889853 pts:3844040 duration:0

Скорее с камеры фрейм с таким pts зашёл в кодек.
frame.pts.

Не по теме:

Я Вам в четвёртый раз предлагаю удалённо пустить меня в режим отладки у себя. В час по чайной ложке можно и
2 года разбираться)

0
3 / 3 / 0
Регистрация: 16.08.2020
Сообщений: 97
06.11.2023, 12:18  [ТС]
Цитата Сообщение от Jio Посмотреть сообщение
из кодека пришёл пакет
dts: 3889853 pts:3844040 duration:0
Камеру сдал на диагностику..
0
2 / 2 / 0
Регистрация: 11.08.2015
Сообщений: 107
07.11.2023, 14:12
Это может быть не поломкой, а особенностью камеры, которую надо учитывать. В конце концов frame.pts можно самим генерировать, чтобы обойти проблему.

А также протестировать другие программы захвата на камере, либо другую камеру на данном коде
0
3 / 3 / 0
Регистрация: 16.08.2020
Сообщений: 97
25.01.2024, 23:29  [ТС]
Короче оказывается что FFMPEG не работает с rtsp потоком, надо применять например GStreamers. Я этому был очень рад узнать это спустя 12 месяцев еб**

0
3 / 3 / 0
Регистрация: 16.08.2020
Сообщений: 97
24.02.2024, 23:51  [ТС]
Дополню, китайские камеры работают с Live555 соответственно юзать надо SDK Live555.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.02.2024, 23:51

кто шарит C#
1.Напишите рекрусивную функцию для определения является ли натуральное число простым 2. Вводится последовательность целых чисел до тех...

кто шарит по фортрану?
вообщем мне нужно написать 2 мерный массив 4х4... чтоб только в 3 и 4 столбцах изменялись значения...и чтоб он был равен разности двух...

Кто шарит? объясните
Объясните пожалуйста хотя бы что делать. Записей &lt;1000, 1-10 пунктов (это все что я понял)

кто шарит в Laravel
у меня проблема заключается в чем. 1. мне нужно сделать 1-го Админа который сможет добавлять посты и галерею на сайт. 2. к постам...

Вариант 8 кто шарит ?
Пожалуйста помогите , учитель вообще не объясняла по этой теме, вот что говорит сделать!!!! Я верю в вас !!!!это консольное приложение...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru