![]() |
|
Модераторы: Rickert, Alexeis, BorisVorontsov |
![]()
|
|
| knave |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 6.3.2003 Где: Санкт-Питербург ( Россия) Репутация: нет Всего: 5 |
Что за зверь такой ключевой кадр и что сним надо делать. В моем случае такие кадры предает камера, знаю, что такие есть и в видеофайлах.
С кажите как делать синхронную передачу изображения и звука с синхронным же воспроизведением на другой стороне (тамк чтобы звук и видео не расходились) Это сообщение отредактировал(а) knave - 4.2.2005, 09:54 -------------------- С наилучшими пожеланиями !!! |
|||
|
||||
| oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: нет Всего: 34 |
ключевой кадр в компрессии используется, у тебя что камера мпег4 сразу передает? не думаю
-------------------- SST 465555 icq 200-512-712 |
|||
|
||||
| knave |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 6.3.2003 Где: Санкт-Питербург ( Россия) Репутация: нет Всего: 5 |
Боюсь что ключевой кадрне не только для компресии используется а так же для снхронизации
Это сообщение отредактировал(а) knave - 4.2.2005, 12:55 -------------------- С наилучшими пожеланиями !!! |
|||
|
||||
| knave |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 6.3.2003 Где: Санкт-Питербург ( Россия) Репутация: нет Всего: 5 |
Вообще меня интересует как организуется синхронное воспроизведенеи звука и видео. Пусть дже без перердачи по сети, а хотябы локально. Как надо определять для какого по времнеи звука мне надо вводить кадры или наоборот. Я как ни стараюсь, у меня получается что либо изображенеи впереди либо звук. Сложнсть в том что все эти задержки вносятся производителностью компа. там надо как то увязать между собой не толко наличие кадров для нужного времени но и учеть задержки на их обработку (распаковка, вывод). И при этом не забыать что врямя тоидет (у кладываться в 24 кадра в секунду если из файла)
С сетью еще сложнее, добавляются задержки на передачу звука или видео - видео кадр большой и идут они реже, чем звук. Звука много, он неболшими проциями и идет часто (хотьот камеры хоть из файла). С камерой неудобство в том что для звука нет времени в которое он был снят от нчала рботы с камерой, для видео оно етсь. С файлами чуть проще, там от времени можно брать данные из файла. Вообще на cерверной стороне всеl достаточно просто, так как получаеш информацию из любого источника более менее равномерно по времени. А на воспроизводящей стороне затраты на распаковку и обработку, на этом и разъезжается все В заключении - поверхностно все кажется просто, когда начинаеш выполнять, то всплывают разные детали. Это сообщение отредактировал(а) knave - 4.2.2005, 13:13 -------------------- С наилучшими пожеланиями !!! |
|||
|
||||
| oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: нет Всего: 34 |
а у тебя что 2 файла типа?
звук и видео? -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
нет файл то один, avi но в них же 3 канала, video, audio, text. Читать через апифункции надо каждый отдельно. Я считываю для нужного мне времени куски и воспроизвожу. Звук пакованный как и видео, распаковывается автоматом через виндовое апи, я получаю указатель на буферы с распакованными данными и отпарвляю на отображение/воспроизведение. Хотелось бы узнать как правильно вообще организовывать этот процесс.
Я делаю так. читаю звк от нужной позиции длительностью на 5 секунд, читаю видео так же на 5 секунд, отправляю. на колиенте практически отновреаенно начинаю воспроизводить. Погрешность наьегает к концу блока. Трабла еще в том что маленький по времени кусок звука не считать, он там упакован определеными порциями, которые распаковываются в достаточно большие кски по времени. Межкадровое время я учитывю не просто паузой между кадрами, когда разница между - текущим системным временем и системным временем начала обработки кадра станет >= межкадровому времени. Системное время получаю через апи функцию сразу в милисекундах (время в милисекундах от включения компа). Если призадуматься то мест где можно набрать погрешнось много можно насчитать. Вот я и хочу найти более менее оптимальный спсоб. Так как я стопудово гдето на ровном месте ошибаюсь. Я сейчас вообще открамсал все и делаю упрощенный вариант локальный. |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Да с камерой ситуация похожая, там от нее через два калбэка можно получаю видео и звук. Единственное что длинну аудио куска можно регулировать, кртно двум байтам и звук не пакованный, это снимает проблему с синхронизацией к длнному куску (елси обрабатывать маленькие кусочки). Но для сети это не очень катит, на тот конец надо на несколько секунд примерно передавать и там это воспроизводить - чтобы небыло перерыва между приемом и воспроизведением. Опять же выплывает оптимальность и продуманность алгоритма синхронизации звука и видео, так как передасться то все в разное время. Вообще на принимающей стороне проблемы примерно оинаковые в обоих случаях. О двух проблемах думаю, потому что надо сделать оба варианта.
Снйчас над камерным вариантом работаю. Делать хосу так. Снимать звук с камеры на 4 кб. (калбэк сработает как драйвер наберет 4096 байт), видео все это время запихивать в буфер. Как звук калбэкнет то воспроизводить. Посотрю что получится Просто уверен, что изобретаю велосипед......... |
|||
|
||||
| knave |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 6.3.2003 Где: Санкт-Питербург ( Россия) Репутация: нет Всего: 5 |
Это я писал как unregistered
-------------------- С наилучшими пожеланиями !!! |
|||
|
||||
![]()
|
| Вы можете найти полезным что... | |
|
|
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |