Developer29 Ответов: 4

Как получить видео из базы данных?


Я хочу хранить и извлекать видео из базы данных SQL. Это видео должно воспроизводиться в vlc или Windows media player с помощью кодирования C#.Скажи мне решение....

Что я уже пробовал:

Я попробовал с flow player......

4 Ответов

Рейтинг:
1

Member 9831003

Проверьте концепцию filestream в sql server на наличие BLOB-объектов.


Рейтинг:
0

OriginalGriff

- Серьезно? Не делай этого.
Проблема в том, что видеофайлы большие - и становятся очень большими, очень быстро. Когда вы пишете код для извлечения их из БД и потоковой передачи на VLC или медиаплеер, вы удваиваете объем памяти, пропускную способность и все остальное. Подумайте об этом: SQL Server должен извлекать данные в свою память. Затем он передает это в сеть, чтобы передать вашему приложению. Который выделяет память для ее хранения и передает ее либо стороннему приложению, например VLC, либо (отдельной машине, если это ASP.NET приложение, которое будет клиентским ПК)
Это огромное количество данных, которые разбрасываются вокруг, и это использует ресурсы как сумасшедшие - что означает задержки, буферизацию и общую гадость.

Лучшее решение-сохранить путь к видеофайлу в БД и использовать его для доступа к фактическим видеоданным. Если повезет, вы можете просто передать путь к вашему видеоплееру, и он получит доступ к данным или потоку напрямую.


StackQ

Полностью согласен +5

Рейтинг:
0

StackQ

if (openFileDialog1.FileName != null)   
{
 v_Filepath = FilePath;
System.IO.FileStream fs = new System.IO.FileStream(FilePath, System.IO.FileMode.Open, System.IO.FileAccess.ReadWrite);
System.IO.BinaryReader binaryReader = new System.IO.BinaryReader(fs);
long byteLength = new System.IO.FileInfo(FilePath).Length;
Attachmnt = binaryReader.ReadBytes((Int32)byteLength);  //This data u can save in table
fs.Close();
 fs.Dispose();
binaryReader.Close();
} 

//And to get it again from database 

string newName;
newName = saveFileDialog1.FileName;
File.WriteAllBytes(saveFileDialog1.FileName, objDoc.DocContent);
writeStream = new FileStream(saveFileDialog1.FileName, FileMode.Open);
BinaryWriter writeBinay = new BinaryWriter(writeStream);
writeBinay.Write(objDoc.DocContent);
writeBinay.Close();
writeStream.Close();


или Проверьте мою ссылку на вопрос:-
как сохранить байтовый код[] в файле pdf/rtf/xps/doc.(Windows не asp)[^]