Ну такое. Пишу значит стриминг, с возможностью записи в файл. Уже давно пишу, много где много чего понял про FFmpeg, несмотря на отсутствие документации, примеров, и постоянно меняющееся API.
Но такой все же вопрос. Вот допустим, мне приходят фреймы откуда-то, из проприетарного API, считай битмапы, я их конвертирую в YUV, создаю AVFrame, ставлю pts соответственно номеру кадра. Также, приходят семплы аудио из rtp демуксера. Надо это стримить, и временами, сохранять. Собственно, я это и делаю, но пока - особо без задней мысли просто складываю в контексты кодеков и муксеров.
Но внимание вопрос, как лучше синхронизировать потоки? И в файл, и в RTP стрим? Закладываться на количество сэмплов аудио? На количество фреймов видео? На системное время? Какие есть стратегии синхронизации, чтоб и в реалтайм стриме, и в файле у меня не было рассинхрона, особенно если потоки - долгоживущие? Что делать если соурсы битмапов и аудио - на время пропадают - например какие-то устройства, их генерирующие, падают? Итд.
Подскажите чо как