Streamovanie videa z databazy. rubrika: Programování: .Net

7 xxar3s
položil/-a 3.8.2018
 
upravil/-a 3.8.2018

V databaze mam ulozene velke subory (napriklad videa) a potreboval by som ich posielat nie v celku, ale sekvencne po kuskoch. Doteraz som bloby cital cez EF ako jeden binary array pri malych videach je to ok, ale nehodi sa to pre vacsie. Okrem toho ak chcem audio a video content streamovat a pretacat, potrebujem to posielat na klienta ako partial content https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/206 musim mat teda pristup k celemu obsahu a vediet sa v nom pohybovat. Na to sa najlepsie hodia streamy.

Ako teda z DB nacitat stream stlpca? Skusam to cez ADO.NET a EntityDataReader, ale zatial sa mi to nepodarilo spojazdnit. Neviete uviest nejaky priklad?

odkaz
7 harrison314
odpověděl/-a 3.8.2018
 
upravil/-a 3.8.2018

Nespecifikoval si databazu, tak budem prepokladat, ze pouzivas MS SQL (s inymi to bude fungovat obdobne).

Na to mam presnu odpoved, pisal som o tom blog aj s implementaciou v .Net Core - http://harrison314.github.io/CoreStreaming.html dana implementacia funguje nad subormi a nad MongoDB (GridFS poriamo podporuje kuskovanie blobov).
V zdrojoch mam clanok, kde je implementacia nad plnym .Net Frameworkom https://www.codeproject.com/Articles/820146/HTTP-Partial-Content-In-ASP-NET-Web-API-Video.

Ak pouzivas MS SQL, tak na vystrihnutie kusu bianrnych dat vies pouzit funkciu SUBSTRING, pomocou nej si spravit store proceduru a tu volat cez Entity Framework alebo ADO.

Ale osobne by som skor siel bud smerom ukladania do suborov, ci vhodnejsej databazy (MongoDB), alebo ked chces zostat na MS SQL tak pouzit FILESTREAM.

Komentáře

  • xxar3s : Dik presne niečo taketo som hladal idem preštudovať. Ani som nevedel že máš blog. 3.8.2018
  • harrison314 : Ano mam, ale pisem clanky len zriedka. Sluzi mi hlavne ako portfolio sukromnych hoby projektov. 4.8.2018

Pro zobrazení všech 4 odpovědí se prosím přihlaste:

Rychlé přihlášení přes sociální sítě:

Nebo se přihlaste jménem a heslem:

Zadejte prosím svou e-mailovou adresu.
Zadejte své heslo.