Member 13359351 Ответов: 1

C# mp4 resource file high storage


Я искал блок таким образом, кто хочет скопировать файлы mp4, и я нахожу способ, что я изменил файл mp4 на ресурс таким образом:
private void Form1_Load(object sender, EventArgs e)
{
String openVideo = @"c:\temp\video.mp4";
System.IO.File.WriteAllBytes(openVideo, global::ProjectName.Properties.Resources.mymp4name);
System.Diagnostics.Process.Start(openVideo);
}


это работает! Но после отладки программного обеспечения все хранилище этого файла сохраняется в exe файле и это так тяжело для файла мой размер exe составляет около 900 МБ ,
мой вопрос: есть ли способ сохранить этот файл ресурсов отдельно, а exe-файл просто сделать программным обеспечением?

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

String openVideo = @"c:\temp\video.mp4";
System.IO.File.WriteAllBytes(openVideo, global::ProjectName.Properties.Resources.mymp4name);
System.Diagnostics.Process.Start(openVideo);
}

Jochen Arndt

Почему бы не доставить видеофайл вместе с вашим приложением как есть, установить его по определенному пути (может быть внутри или под папкой приложения, если он должен быть только прочитан) и загрузить его при необходимости?

1 Ответов

Рейтинг:
11

OriginalGriff

Весь ваш подход не сработает: вы "прячете" файл MP4 в ресурсе, что означает, что он находится "внутри" EXE-файла, и вы ничего не можете с этим поделать.
Но вы вовсе не защищаете его - вы на самом деле распространяете его сами вместе со своим кодом!
Вы предполагаете (правильно или неправильно, это неправильно для моей системы), что в корне текущего диска C есть папка под названием "temp", и вы записываете туда файл, чтобы открыть процесс, чтобы показать его. С этого момента пользователь может делать с MP4 именно то, что ему нравится, потому что он сидит там на виду и все равно будет там, если ваше приложение будет закрыто позже.

Это не "защита", это "копирование". И если (как и я) MP4-плеер по умолчанию-VLC, он точно скажет мне, где находится файл и как он называется, чтобы сделать мою работу видеопирата еще проще. :смеяться:

Если вы хотите защитить видеофайлы, зашифруйте их и воспроизведите расшифрованный поток в своем приложении. Я знаю только одну систему для этого, и это платный продукт: Зашифрованное потоковое видео | воспроизведение видео из потока в C# | BoxedApp SDK[^] Вы можете найти других через Google, но не ожидайте, что это будет тривиальный процесс.