Есть VLC версии 2.2.4 под Windows 7 64 bit Rus. Когда я пытаюсь писать им HLS-поток, он сам останавливается на 21-22 минуте при размере файла 1300 с чем-то Мбайт. Место на диске есть. VLC встаёт не из-за помех, так как сигнал чистый. Энергосбережение тут тоже не при чём, потому что встаёт, даже если его смотришь в этот момент или параллельно занимаешься чем-то на компьютере. Может, где-то существуют ограничение на размер файла или длительность записи? Как бы их отключить?
В окне - ничего. Играет-играет (и записывает), внизу окна закрашивается линейка, всё время на линейке 00:00, длительность тоже 00:00. И как только линейка закрасится примерно на четверть - бах! - сразу показ (и запись) прекращается, окно из максимизированного возвращается в нормальный размер, клиентская область пустая и пустая незакрашенная линейка без бегунка.
А в какой формат пишете? Помню раньше на цифровых фотоаппаратах было ограничение 24мин на файл из-за того что какой-то кодек толи mp4 толи h264 требовал дорогой лицензии, а в бесплатной версии предоставлял максимум такое время.
редирект m3u8+ОТНОСИТЕЛЬНЫЙ адрес TS+первый сервак, НЕ поддерживающий редирект TS (это важно). Решение древнее, примитивно и известное, как удар дубиной по голове, на также аналогично и действенное, что положило на лопатки не только меня, но и FireFox и ffmpeg, а вот VLC и MPC с этой ситуацией справлялись, поскольку строили путь к TS не от первого URL m3u8, а от второго, после редиректа. Поскольку моя библиотечная процедура инкапсулировала редирект, то я был о нём не в курсе и строил путь к TS от первого URL m3u8 и получал облом, подбирал User-Agent, Referrer, заголовки, порядок заголовков, манеру VLC хапать файл в 2 прохода - всё мимо. У меня была мысль, что VLC тянет TS'ы откуда-то не оттуда, но fiddler как воды в рот набрал, я уж думал, тут QUICK какой-нибудь или что покруче.
Ладно, объявил downshift, прикинулся обычным пользователем и стал писать через VLC, но тут выяснилось, что VLC в третий раз меня подвёл и пишет только кусок. Fiddler и здесь мне не помог, но стоило задать вопрос, хотя на него никто и не ответил, в fiddler'е что-то щёлкнуло и он показал редирект m3u8, а дальше всё было делом техники, хоть fiddler и не показал опять URL TS.
А по поводу VLC есть у меня 2 гипотезы - либо m3u8 слишком большой (там аж за 3 часа) и обрезается, чтобы влезть в заготовленный для него буфер; либо же VLC держит всё время сессию открытую, сервак закрывает её по тайм-ауту, а VLC этот случай не обрабатывает. Но это уж пусть разбираются без меня.
DWZ, и ещё - у меня были идеи вместо fiddler'а смотреть через Апач, а сохранять через squid (тут лучше вместо VLC MPC запустить - он не встаёт). У меня до этого не дошло, но, может, кому пригодится
rPman, есть ещё веселее - из плейлиста сразу TS отдаёт. Я-то думаю: "Почему у меня m3u8 не парсится?", глянул - а там бинарник и то и дело буквы "G". Уж не TS ли? - И точно он! А это очень весело, если учесть, что: 1) процедура закачки m3u8 не умеет в докачку, 2) и как теперь определить, когда следующий раз дёрнуть URL? По PCR вычислять?
А насчёт стандарта - логично строить ссылку от последнего. Скажем, в m3u8-плейлисте ссылка на m3u8 с разными разрешениями/битрейтами, а уже в нём ссылка на m3u8 с TS-ами. От какого m3u8 URL строить? Вот то-то же!