Форум программистов, компьютерный форум, киберфорум
C (Си)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
 Аватар для Наталья8
625 / 383 / 67
Регистрация: 09.03.2016
Сообщений: 4,304

Изменить дискретизация аудиотрека и частоту кадров

28.06.2026, 19:19. Показов 2950. Ответов 46
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
 Комментарий администратора 
Перенесено из темы Найти максимальное количество элементов, которые можно разместить при заданных параметрах


используя яп си, найти в файле mp4, два байта отвечающих за дискретизацию аудиотрека и изменить их, изменив скорость воспроизведения аудио
используя яп си, найти в файле mp4, два байты отвечающие за частоту кадров h264 видео и изменить их, изменив скорость воспроизведения видео
Два вечера долблю искуственный интелект на тему...
Здесь не спрашиваю. По ходу ни кто возиться не станет.
Я скачал резаное видео, а там variable... Всё переменное. И аудио и видео.
Результат при склейке, видео в конце отстаёт секунд на восемь.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.06.2026, 19:19
Ответы с готовыми решениями:

Найти частоту букв и частоту слов в предложении
Друзья! Нужна помощь. нужно найти частоту каждого слова и частоту каждой буквы. Т.е. пишем...

Дискретизация
не знаю как сделать дискретизацию отрезка arange(0,1.e-2,1.e-7) от 0 до 1.e-2 с шагом 1.e-7

Дискретизация
Второй день ломаю голову. Нужно разработать программу для дискретизации функций. Функций будет...

46
 Аватар для Наталья8
625 / 383 / 67
Регистрация: 09.03.2016
Сообщений: 4,304
16.07.2026, 00:31  [ТС]
Студворк — интернет-сервис помощи студентам

И такое вот... Кодек я настраивал под себя. Как мне удобно.
keyint - через сколько кадров будет один ключевой, реальный кадр, а не фигня всякая.
0
Заблокирован
16.07.2026, 00:44
Цитата Сообщение от Royal_X Посмотреть сообщение
Т.е. предлагаю создать оконное приложение с графическим интерфейсом (кнопками, ползунками, полями для ввода и пр.), а рядом с приложением лежит уже собранный ffmpeg. Твое оконное приложение потом просто посылает команды к ffmpeg.
Их тонна и все говно. Больше не значит лучше.
1
 Аватар для Наталья8
625 / 383 / 67
Регистрация: 09.03.2016
Сообщений: 4,304
16.07.2026, 02:05  [ТС]

Зачем знать про ключевые кадры?
Вот тот флаг в той функции означает воткнуть в задний (BACK) ключевой кадр.
Что бы с него читать фрагмент видео.
keyint 300 означает что я могу воткнуть с точностью десять секунд. Примерно.
А в opencv нету понятия ключевых кадров. Потому оно работает глючно, через раз.
По крайней мере надо понимать почему...
Т/Е втыкаешь по секундам, оно сползает на задний ключевой кадр.
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,620
16.07.2026, 09:36
Наталья8, каждый инструмент нужно использовать по назначению.

OpenCV не предназначена для всяких кодирований/декодирований, мультиплексирования или демультиплексирования. Такие задачи подходят для ffmpeg. Вот, ffmpeg все эти конвертирования и прочие операции с видеофайлами делает на высоком уровне.

OpenCV это либа в первую очередь для риалтаймого компьютерного зрения и прочих численных алгоритмов, обработки изображений. Заметь, именно "изображений", а не видео.
Когда OpenCV получает видео, то данная либа самостоятельно даже не умеет извлекать кадры. Этим занимается один из доступных бэкендов - ffmpeg, MSMF, GStreamer - которого ты не видишь и не контролируешь. То же самое касается записи видео.

Цитата Сообщение от Наталья8 Посмотреть сообщение
keyint 300 означает что я могу воткнуть с точностью десять секунд. Примерно.
А в opencv нету понятия ключевых кадров. Потому оно работает глючно, через раз.
есть

для ключевых кадров есть VIDEOWRITER_PROP_KEY_INTERVAL
Т.е. когда записываешь в файл, при создании VideoWriter можешь указать этот keyint. Но keyint влияет на перемотку в плеерах, поэтому я не совсем понял про "могу воткнуть с точностью десять секунд"

В OpenCV можно перейти в определенное место даже с точностью 1 кадр посредством set и использования CAP_PROP_POS_FRAMES
0
 Аватар для Наталья8
625 / 383 / 67
Регистрация: 09.03.2016
Сообщений: 4,304
16.07.2026, 12:48  [ТС]
Цитата Сообщение от RabbitAttaks Посмотреть сообщение
рядом с приложением лежит уже собранный ffmpeg
Чем более высокоуровневая конструкция, тем больше глюков она вмещает. Закон природы.
Чем больше мешок, тем больше в нём гнилой картошки.
А openCV --- На ffmpeg основано. Вот на нём оно и написано...

Добавлено через 4 минуты
Цитата Сообщение от Royal_X Посмотреть сообщение
данная либа самостоятельно даже не умеет извлекать кадры
Как так не умеет. Ты имеешь каждый отдельный кадр и имеешь возможность его обработать.

C++
1
2
3
4
5
6
7
cv::Mat frame;
    
begin0:
    if (capture.read(frame) == false)
    {
        cout << "ERROR: Cannot read a frame from video one" << endl;
        goto begin0; }
Вот прочёл кадр, он у тебя в cv::Mat frame... Вот и работай его...
Это я лепил goto.
Какая то версия opencv не втыкала с первого раза чтение файла.
Надо было повторять.

Добавлено через 5 минут
Цитата Сообщение от Royal_X Посмотреть сообщение
В OpenCV можно перейти в определенное место даже с точностью 1 кадр
Просто не тот случай. Надо всё раскодировать.
(Медленно получаеться. На некоторых форматах очень медленно и не очень точно.)
У меня не раскодирует. Гонит пакетами.
Наверное можно воткнуть в передний ключевой, раскодировать, посчитать кадры.
Как то так оно всё.
Добавлено через 7 минут
Цитата Сообщение от Royal_X Посмотреть сообщение
не совсем понял про "могу воткнуть с точностью десять секунд"
Это на ffmpeg, на низком уровне. (Ловля блохх.)


Добавлено через 7 минут
Цитата Сообщение от Royal_X Посмотреть сообщение
VIDEOWRITER_PROP_KEY_INTERVAL
На тех версиях на которых я работал такого не было.

C++
1
VideoWriter video(folder_temp, CV_FOURCC('D', 'I', 'V', 'X'), sample_fr_sec, Size(frame_width, frame_height), true);
AVI пишу... Два кадра в секунду там ключевых и ничего не настраиваеться.

Добавлено через 20 минут
Я старый хрен с устаревшими мыслями.
Теперь вы молодые идите на прорыв прогресса.
0
Нарушитель
Эксперт функциональных языков программированияЭксперт С++
6318 / 3043 / 1054
Регистрация: 01.06.2021
Сообщений: 11,620
16.07.2026, 13:17
Цитата Сообщение от Наталья8 Посмотреть сообщение
Как так не умеет.
ключевое слово там было "самостоятельно"

Цитата Сообщение от Royal_X Посмотреть сообщение
Когда OpenCV получает видео, то данная либа самостоятельно даже не умеет извлекать кадры. Этим занимается один из доступных бэкендов - ffmpeg, MSMF, GStreamer - которого ты не видишь и не контролируешь. То же самое касается записи видео.
т.е. в OpenCV вытаскивание кадров из видео, равно как и создание видео из кадров, как правило, делает ffmpeg. По крайней мере, если вручную не выбирать бэкенд, то на винде дефолтно будет именно ffmpeg.
Это легко проверить с помощью функции getBackendName(). Этот метод есть как и у VideoCapture, так и у VideoWriter.

Добавлено через 2 минуты
Цитата Сообщение от Наталья8 Посмотреть сообщение
А openCV --- На ffmpeg основано. Вот на нём оно и написано...
OpenCV использует ffmpeg для некоторых задач, но говорить, что на ffmpeg основано, неправильно. К тому же, в OpenCV можно выбрать и другой бэкенд, не обязательно использовать ffmpeg. Но ffmpeg хороший выбор при работе с файлами. Как для чтения, так и для записи, он норм.

OpenCV не для обрезки, склеивания видео, смены битрейта, частоты и прочих вещей, которые лучше делать непосредственно на ffmpeg. Причем, писать целые оконные приложения на ffmpeg для таких вещей это чересчур. Можно просто написать маленкие скрипты/батники, которые вызывают ffmpeg.exe

OpenCV это библиотека именно для обработки изображений / кадров. Судя по документации её основные области это Image Processing, Video Analysis, Camera Calibration, Object Detection, Deep Learning, Machine Learning. Причем, её фишка в том, что она умеет обрабатывать кадры в риалтайме. Например, выше я тебе привел пример риалтаймовой обработки кадров для виртуальной веб-камеры. Аналогично, можно создать программу для камер видеонаблюдения, которая ищет конкретного человека по фейсу в риалтайме, поиск номеров машин и т.д. Или можешь написать программу для фотоловушек в лесу, которая автоматически подсчитывает количество лесных зверей посредством классификации на машинном обучении.
0
 Аватар для Наталья8
625 / 383 / 67
Регистрация: 09.03.2016
Сообщений: 4,304
25.07.2026, 14:59  [ТС]
Цитата Сообщение от Наталья8 Посмотреть сообщение
могу воткнуть с точностью десять секунд
Да забыл написать. Вертится в башке.
Между ключевыми кадрами нет картинок.
Там есть изменения... Я видел такое. Это какие то разноцветные контуры.
То есть, что бы увидеть желанный кадр,
надо последовательно раскодировать фрагмент от переднего ключевого кадра.
Кодирование на ffmpeg, предполагает немного знаний предмета.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.07.2026, 14:59

Необходима реализация изменения частоты дискретизации на С++
Мне очень нужна помощь в области изменения частоты дискретизации с помощью различных способов...

Быстрое изменение частоты дискретизации имеющегося звука онлайн
Добрый день. У меня задача быстрого изменения частоты дискретизации имеющегося звука он-лайн по...

Не получается настроить частоту дискретизации
Код взят из ветки под C# NET, но вроде как он относится к WINAPI.. Этот код записывает аудио файл...

Разбиение видео на кадры, кадры на пиксели
Задача состоит в том, что бы разбить кусок видео разрешением 128p покадрово. Затем кадры необходимо...

Вывод в RichEdit шаг Дискретизации от *.wav
Ниже приведённый пример по моему мнению не совсем удачный, но этим примером хочу довести.....чего...


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

Или воспользуйтесь поиском по форуму:
47
Ответ Создать тему
Новые блоги и статьи
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
Как у меня протекала болезнь
zorxor 27.08.2026
Здравствуйте, друзья! Эта запись блога предназначена именно для вас - для моих дорогих друзей, которые знали меня лично. Чтобы ответить на вопрос - а что же со мной произошло на самом деле? Я учился. . .
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru