Рэйлвэй Каген писал(а):
Могу добавить только следующее: можно использовать вообще "полуфабрикат" RTMP-чанков для хранения на диске/буфере/кеше, подставляя только таймштампы и заголовки непосредственно при передаче. Далее - просто смотрите, насколько близок к этому формат других планируемых контейнеров и, может быть, находите некую общую базу. Вот её-то и стоит поискать в потрохах проектов, с которыми Вы ознакомились. Преимущество, на мой взгляд, стОит отдать тому, который хоть как-то ближе к общей базе.
Если мне склероз не изменяет, то размер чанка там может меняться. В принципе кэшировать (на стороне сервера) нечего (точнее то кэширование которое можно сделать отлично сделает просто системный кэш диска), буферизирует плеер на стороне клиента.
Да, хранение в виде такого вот полуфабриката будет сделано в первую очередь и это часть необходимого функционала который обязательно потребуется.
Именно такой формат потому что это:
a) проще (формат много более примитивен, не универсален, и легче реализуем).
б) позволит докрутить то что важно мне (там будет не только аудио+видео, но и некие сигналинговые события, которые должны быть четко синхронизированны с видео и аудио рядом, я не уверен что это можно сделать без большого геморроя в умных универсальных контейнерах).
Искать некую общую не тривиальную базу для дополнительных форматов опасно в том плане, что потом внезапно потребуется ещё один формат, который в эту базу не вписывается, и либо ваять костыль, либо перелопачивать всё. Проходили такое уже
Впрочем, это уже пошли технические тонкости, причем, похоже, на грани моей текущей компетенции в вопросе, посему тут можно бы и закруглиться, ибо надо пробовать а не флагами махать.
Рэйлвэй Каген писал(а):
Но вся эта техническая лабуда меркнет перед уже упомянутой эмпирикой. Если Вы не <НазваниеФирмы>Fellow, то, видимо, придётся выбирать базу, обеспечивающую эффективность Вашей работы на "сегодня-завтра". Мэйнстрим, однако.
Если что-то получится, то это не на сегодня-завтра, т.е. проект длительный. В отличае от многих иных. Собственно вопрос в том, какой ресурс стратегически важнее -- наличие сторонних разработчиков, сообщества (и как следствие быстрое обрастание продукта всякими фичами, резвый, хотя за частую и спонтанный, багофиксинг), или же ясная архитектура и полный контроль проекта.
В принципе, если идти по второму пути, то наиболее эффективно и правильно было бы поднять флаг, оживить проект и попробовать сформировать сообщество вокруг него (читай привлечь разработчиков сторонних). По сути -- составить конкуренцию тому проекту. Но тут есть опасность что средство (программа) станет целью. Ну и вообще лидером быть очень тяжело.