This был полезной статьей о двойной пороговой буферизации. Это объясняет, что вы можете прослушивать события NetStream.Buffer.Full
и NetStream.Buffer.Empty
на NetStream
и настраивать время буфера NetStream
, чтобы наилучшим образом использовать доступную полосу пропускания, а также быстро получать время начала видео. Однако я столкнулся с проблемой. Когда я прохожу мимо буферизованного раздела видео в моем NetStream, буфер снова пуст, но я не получаю событие NetStream.Buffer.Empty
. Время буферизации NetStream
по-прежнему настроено на мое расширенное время буфера, поэтому я теряю преимущество быстрого начала. Как вы реализуете эту стратегию, чтобы в этом случае она работала правильно? Как вы скажете, что буфер снова пуст или что вы искали доступный буфер?NetStream: двойная пороговая буферизация и поиск за пределами буфера
Редактировать: Я должен, вероятно, упомянуть, что использую поиск в буфере (Smart Seeking). Я думаю, что это не было бы проблемой, если бы я не был, потому что флеш забрасывает буфер на каждый поиск без включения этой функции.
Эта статья очень полезна для буферизации длинных потоков да, но я думаю, что вы можете использовать некоторую логику там. Низкий порог буфера в буфере пуст, когда поиск должен помочь в продолжении воспроизведения. Однако поиск немного меняет ситуацию. Я должен спросить, правда, ищет действительно то, что нужно клиенту? Если это инициация, инициированная пользователем, то она не запрашивает слишком много для буферизации воспроизведения. Это должно быть приемлемым для пользователя. Если они хотят искать, они должны быть готовы подождать, пока их контент будет готов. – tree