Audio + Video
От: Ozone Россия  
Дата: 01.10.04 05:44
Оценка:
Нужно реализовать наложение звука на видео.
В какую сторону копать?
Re: Audio + Video
От: Sergey A. Sablin Россия http://www.elecard.com
Дата: 01.10.04 05:56
Оценка: :)
Здравствуйте, Ozone, Вы писали:

O>Нужно реализовать наложение звука на видео.

тебе с полупрозрачностью или как?
чё значит наложить звук на видео?
Сергей.
Re[2]: Audio + Video
От: Ozone Россия  
Дата: 01.10.04 06:04
Оценка: 6 (1) +1 :)
Здравствуйте, Sergey A. Sablin, Вы писали:

SAS>чё значит наложить звук на видео?


Есть avi'шка разбитая по кадрам. Есть звуковой файл. Нужно слить это все вместе, шоб получитоль "видео со звуком".
Re[3]: Audio + Video
От: Sergey A. Sablin Россия http://www.elecard.com
Дата: 01.10.04 06:19
Оценка:
Здравствуйте, Ozone, Вы писали:

O>Здравствуйте, Sergey A. Sablin, Вы писали:


SAS>>чё значит наложить звук на видео?


O>Есть avi'шка разбитая по кадрам. Есть звуковой файл. Нужно слить это все вместе, шоб получитоль "видео со звуком".


Если есть авишка и есть звуковой файл, то самое простое это собрать в графедиторе (DXSDK\Bin\DXUtils\graphedt.exe) граф вида:


video source -> splitter
                         -> muxer -> file writter
audio source -> splitter


правда нет никакой гарантии что будет синхра.
Сергей.
Re[4]: Audio + Video
От: Ozone Россия  
Дата: 01.10.04 06:23
Оценка:
Здравствуйте, Sergey A. Sablin, Вы писали:

SAS>Если есть авишка и есть звуковой файл, то самое простое это собрать в графедиторе (DXSDK\Bin\DXUtils\graphedt.exe) граф вида:



SAS>
SAS>video source -> splitter
                         ->> muxer -> file writter
SAS>audio source -> splitter
SAS>


SAS>правда нет никакой гарантии что будет синхра.


Хочется самому, ручками. Без сторонних программ.
Re[5]: Audio + Video
От: Sergey A. Sablin Россия http://www.elecard.com
Дата: 01.10.04 06:29
Оценка:
Здравствуйте, Ozone, Вы писали:

O>Здравствуйте, Sergey A. Sablin, Вы писали:


SAS>>Если есть авишка и есть звуковой файл, то самое простое это собрать в графедиторе (DXSDK\Bin\DXUtils\graphedt.exe) граф вида:



SAS>>
SAS>>video source -> splitter
                         ->>> muxer -> file writter
SAS>>audio source -> splitter
SAS>>


SAS>>правда нет никакой гарантии что будет синхра.


O>Хочется самому, ручками. Без сторонних программ.


ну берешь и пишешь тоже самое ручками — создаешь в аппликации фильтрграф, вставляешь необходимые фильтры, соединяешь их как надо, и говоришь графу — играй. всё.
Сергей.
Re[6]: Audio + Video
От: Ozone Россия  
Дата: 01.10.04 06:37
Оценка:
Здравствуйте, Sergey A. Sablin, Вы писали:

SAS>ну берешь и пишешь тоже самое ручками — создаешь в аппликации фильтрграф, вставляешь необходимые фильтры, соединяешь их как надо, и говоришь графу — играй. всё.


Пока для меня это немного сложно? Где читать?
Re[7]: Audio + Video
От: Sergey A. Sablin Россия http://www.elecard.com
Дата: 01.10.04 06:50
Оценка: 2 (1)
Здравствуйте, Ozone, Вы писали:

O>Здравствуйте, Sergey A. Sablin, Вы писали:


SAS>>ну берешь и пишешь тоже самое ручками — создаешь в аппликации фильтрграф, вставляешь необходимые фильтры, соединяешь их как надо, и говоришь графу — играй. всё.


O> Пока для меня это немного сложно? Где читать?


DirectX SDK — раздел Direct Show. Там есть примеры для некоторых простых аппликаций.
Сергей.
Re[4]: Audio + Video
От: Unhandled_Exception Россия  
Дата: 13.10.04 08:11
Оценка:
Здравствуйте, Sergey A. Sablin, Вы писали:

SAS>Здравствуйте, Ozone, Вы писали:


O>>Здравствуйте, Sergey A. Sablin, Вы писали:


SAS>>>чё значит наложить звук на видео?


O>>Есть avi'шка разбитая по кадрам. Есть звуковой файл. Нужно слить это все вместе, шоб получитоль "видео со звуком".


SAS>Если есть авишка и есть звуковой файл, то самое простое это собрать в графедиторе (DXSDK\Bin\DXUtils\graphedt.exe) граф вида:



SAS>
SAS>video source -> splitter
                         ->> muxer -> file writter
SAS>audio source -> splitter
SAS>


SAS>правда нет никакой гарантии что будет синхра.


У меня как раз сейчас возникла аналогичная задача. И вот с синхром как раз обнаружились проблемы. Не подскажете, как этот вопрос решать?
Re[5]: Audio + Video
От: Sergey A. Sablin Россия http://www.elecard.com
Дата: 13.10.04 08:34
Оценка:
Здравствуйте, Unhandled_Exception, Вы писали:

U_E>Здравствуйте, Sergey A. Sablin, Вы писали:


SAS>>Здравствуйте, Ozone, Вы писали:


O>>>Здравствуйте, Sergey A. Sablin, Вы писали:


SAS>>>>чё значит наложить звук на видео?


O>>>Есть avi'шка разбитая по кадрам. Есть звуковой файл. Нужно слить это все вместе, шоб получитоль "видео со звуком".


SAS>>Если есть авишка и есть звуковой файл, то самое простое это собрать в графедиторе (DXSDK\Bin\DXUtils\graphedt.exe) граф вида:



SAS>>
SAS>>video source -> splitter
                         ->>> muxer -> file writter
SAS>>audio source -> splitter
SAS>>


SAS>>правда нет никакой гарантии что будет синхра.


U_E>У меня как раз сейчас возникла аналогичная задача. И вот с синхром как раз обнаружились проблемы. Не подскажете, как этот вопрос решать?


если у тебя имееться два стрима записанных совершенно независимо, то в общем случае добиться синхронизации нельзя, так как у капчурок могут быть разные часы. А так как муксер будет писать в стрим времена проставленные демуксером, которые он взял из исходного стрима, которые проставили капчурки, и никто из них не знает о том, что происходнит в видео и в аудио, то склеяться они у тебя точненько по временам — при это никакой синхронизации (в человеческом ее понимании) не гарантируеться.
Выход как обычно есть, но он довольно специфичен — смотрим глазками на стрим и видим рассинхронизацию. ОК говорим, и добавляем смещение по времени, например, к аудио потоку. И так по посинения, а точнее до получения синхры.
Если же стримы были записаны с одной капчурки или с двух, но часам которых вы безгранично верите, то при их муксировании не должно возникать таких проблем.

Если удосужишся описать твою проблему более красноречиво, то может возникнут и другие мысли.
Сергей.
Re[6]: Audio + Video
От: Unhandled_Exception Россия  
Дата: 14.10.04 11:57
Оценка:
Здравствуйте, Sergey A. Sablin, Вы писали:

SAS>если у тебя имееться два стрима записанных совершенно независимо, то в общем случае добиться синхронизации нельзя, так как у капчурок могут быть разные часы. А так как муксер будет писать в стрим времена проставленные демуксером, которые он взял из исходного стрима, которые проставили капчурки, и никто из них не знает о том, что происходнит в видео и в аудио, то склеяться они у тебя точненько по временам — при это никакой синхронизации (в человеческом ее понимании) не гарантируеться.

SAS>Выход как обычно есть, но он довольно специфичен — смотрим глазками на стрим и видим рассинхронизацию. ОК говорим, и добавляем смещение по времени, например, к аудио потоку. И так по посинения, а точнее до получения синхры.
SAS>Если же стримы были записаны с одной капчурки или с двух, но часам которых вы безгранично верите, то при их муксировании не должно возникать таких проблем.

SAS>Если удосужишся описать твою проблему более красноречиво, то может возникнут и другие мысли.


У меня следующая ситуация.
Звук я снимаю с фильтра из категории Audio Capture, соединяется он с AVI MUX. Видео — с самописного фильтра (#1), который снимает картинку с заданного окошка. Фильтр #1 соединяется с каким-нибудь видеокомпрессором, а он, в свою очередь, с упомянутым AVI MUX. Что хочется, чтобы было. Звук связан с тем, что происходит в окошке. В итоге получается AVI-шник, в котором звук и картинка рассинхонизированы. Мне удалось добится нормального результата, если я в этом своем видеофильтре вызываю SetTime со значениями, вычисленными через GetTickCount(), но меня этот вариант не устраивает, т.к. мне надо иметь возможность задавать FrameRate для видео. Может быть подскажете, куда копать?... или в морг?
Re[7]: Audio + Video
От: Sergey A. Sablin Россия http://www.elecard.com
Дата: 14.10.04 12:25
Оценка:
Здравствуйте, Unhandled_Exception, Вы писали:

U_E>Здравствуйте, Sergey A. Sablin, Вы писали:


SAS>>если у тебя имееться два стрима записанных совершенно независимо, то в общем случае добиться синхронизации нельзя, так как у капчурок могут быть разные часы. А так как муксер будет писать в стрим времена проставленные демуксером, которые он взял из исходного стрима, которые проставили капчурки, и никто из них не знает о том, что происходнит в видео и в аудио, то склеяться они у тебя точненько по временам — при это никакой синхронизации (в человеческом ее понимании) не гарантируеться.

SAS>>Выход как обычно есть, но он довольно специфичен — смотрим глазками на стрим и видим рассинхронизацию. ОК говорим, и добавляем смещение по времени, например, к аудио потоку. И так по посинения, а точнее до получения синхры.
SAS>>Если же стримы были записаны с одной капчурки или с двух, но часам которых вы безгранично верите, то при их муксировании не должно возникать таких проблем.

SAS>>Если удосужишся описать твою проблему более красноречиво, то может возникнут и другие мысли.


U_E>У меня следующая ситуация.

U_E>Звук я снимаю с фильтра из категории Audio Capture, соединяется он с AVI MUX. Видео — с самописного фильтра (#1), который снимает картинку с заданного окошка. Фильтр #1 соединяется с каким-нибудь видеокомпрессором, а он, в свою очередь, с упомянутым AVI MUX. Что хочется, чтобы было. Звук связан с тем, что происходит в окошке. В итоге получается AVI-шник, в котором звук и картинка рассинхонизированы. Мне удалось добится нормального результата, если я в этом своем видеофильтре вызываю SetTime со значениями, вычисленными через GetTickCount(), но меня этот вариант не устраивает, т.к. мне надо иметь возможность задавать FrameRate для видео. Может быть подскажете, куда копать?... или в морг?

Ну в морг пока рано, но иметь в виду стоит...

Итак насколько я понял твой фильтр сорец, так? Тогда ты по любому должен проставлять времена на самплы, причем желательно те же, что в этот момент проставила звуковуха, либо самому проставлять времена на оба стрима и делать это через системную функцию. Второй вариант ты знаешь как реализовать. Первый не знаю я
Нужно как-то взять времена с самплов аудио и проставить их для видео. Ничего тут не подскажу к сожалению — не было у меня опыта в таких извращениях.
Сергей.
Re[8]: Audio + Video
От: Unhandled_Exception Россия  
Дата: 14.10.04 13:09
Оценка:
Здравствуйте, Sergey A. Sablin, Вы писали:

U_E>>У меня следующая ситуация.

U_E>>Звук я снимаю с фильтра из категории Audio Capture, соединяется он с AVI MUX. Видео — с самописного фильтра (#1), который снимает картинку с заданного окошка. Фильтр #1 соединяется с каким-нибудь видеокомпрессором, а он, в свою очередь, с упомянутым AVI MUX. Что хочется, чтобы было. Звук связан с тем, что происходит в окошке. В итоге получается AVI-шник, в котором звук и картинка рассинхонизированы. Мне удалось добится нормального результата, если я в этом своем видеофильтре вызываю SetTime со значениями, вычисленными через GetTickCount(), но меня этот вариант не устраивает, т.к. мне надо иметь возможность задавать FrameRate для видео. Может быть подскажете, куда копать?... или в морг?

SAS>Ну в морг пока рано, но иметь в виду стоит...


SAS>Итак насколько я понял твой фильтр сорец, так? Тогда ты по любому должен проставлять времена на самплы, причем желательно те же, что в этот момент проставила звуковуха, либо самому проставлять времена на оба стрима и делать это через системную функцию. Второй вариант ты знаешь как реализовать. Первый не знаю я

SAS>Нужно как-то взять времена с самплов аудио и проставить их для видео. Ничего тут не подскажу к сожалению — не было у меня опыта в таких извращениях.

Но ведь тогда, как я понимаю, я не смогу рулить FrameRate'ом?
Re[9]: Audio + Video
От: Sergey A. Sablin Россия http://www.elecard.com
Дата: 14.10.04 13:17
Оценка:
Здравствуйте, Unhandled_Exception, Вы писали:

U_E>Но ведь тогда, как я понимаю, я не смогу рулить FrameRate'ом?


почему? не вижу ни одной причины капчурить твое окно с заданным тобой фрейм-рейтом и проставлять соответствующие времена. В чем проблема?
Сергей.
Re[10]: Audio + Video
От: Unhandled_Exception Россия  
Дата: 14.10.04 14:17
Оценка:
Здравствуйте, Sergey A. Sablin, Вы писали:

SAS>Здравствуйте, Unhandled_Exception, Вы писали:


U_E>>Но ведь тогда, как я понимаю, я не смогу рулить FrameRate'ом?


SAS>почему? не вижу ни одной причины капчурить твое окно с заданным тобой фрейм-рейтом и проставлять соответствующие времена. В чем проблема?


ошибся. действительно, вроде бы получается сделать.
стартовое время я выставляю, используя GetTickCount(), а конечное — это стартовое плюс длина фрейма, исходя из заданного FrameRate'а. на первый взгляд, звук и видео получаются синхронизированы! ура-ура спасибо
Re[11]: Audio + Video
От: Ozone Россия  
Дата: 15.10.04 03:33
Оценка:
Здравствуйте, Unhandled_Exception, Вы писали:

U_E>ошибся. действительно, вроде бы получается сделать.

U_E>стартовое время я выставляю, используя GetTickCount(), а конечное — это стартовое плюс длина фрейма, исходя из заданного FrameRate'а. на первый взгляд, звук и видео получаются синхронизированы! ура-ура спасибо

А можно Ваш код посмотреть?
Re[12]: Audio + Video
От: Unhandled_Exception Россия  
Дата: 15.10.04 07:31
Оценка:
Здравствуйте, Ozone, Вы писали:

O>Здравствуйте, Unhandled_Exception, Вы писали:


U_E>>ошибся. действительно, вроде бы получается сделать.

U_E>>стартовое время я выставляю, используя GetTickCount(), а конечное — это стартовое плюс длина фрейма, исходя из заданного FrameRate'а. на первый взгляд, звук и видео получаются синхронизированы! ура-ура спасибо

O>А можно Ваш код посмотреть?


кусок кода можно, но проблемы, к сожалению, все равно остались т.е. стало значительно лучше, но все равно видно, что видео не совпадает со звуком.
вот нашел кое-что по теме: http://virtualvcr.sourceforge.net/html/virtualvcr/sync.php
Re[13]: Audio + Video
От: Ozone Россия  
Дата: 17.10.04 10:25
Оценка:
Здравствуйте, Unhandled_Exception, Вы писали:

U_E>кусок кода можно, но проблемы, к сожалению, все равно остались


yakovenko@sibamail.ru

Заранее спасибо.
Re[14]: Audio + Video
От: Unhandled_Exception Россия  
Дата: 20.10.04 06:53
Оценка:
Здравствуйте, Ozone, Вы писали:

O>Здравствуйте, Unhandled_Exception, Вы писали:


U_E>>кусок кода можно, но проблемы, к сожалению, все равно остались


O>yakovenko@sibamail.ru


Выдай, пожалуйста, другое мыло.

2moderators: простите великодушно
Re[15]: Audio + Video
От: Ozone Россия  
Дата: 21.10.04 10:25
Оценка:
Здравствуйте, Unhandled_Exception, Вы писали:

U_E>Здравствуйте, Ozone, Вы писали:


O>>Здравствуйте, Unhandled_Exception, Вы писали:


U_E>>>кусок кода можно, но проблемы, к сожалению, все равно остались


O>>yakovenko@sibamail.ru


U_E>Выдай, пожалуйста, другое мыло.


U_E>2moderators: простите великодушно


_ranger_@mailserver.ru
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.