<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.3 20210610//EN" "JATS-journalpublishing1-3.dtd">
<article article-type="research-article" dtd-version="1.3" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="ru"><front><journal-meta><journal-id journal-id-type="publisher-id">procyber</journal-id><journal-title-group><journal-title xml:lang="ru">Вестник кибернетики</journal-title><trans-title-group xml:lang="en"><trans-title>Proceedings in Cybernetics</trans-title></trans-title-group></journal-title-group><issn pub-type="epub">1999-7604</issn><publisher><publisher-name>Бюджетное учреждение высшего образования Ханты-Мансийского автономного округа – Югры «Сургутский государственный университет»</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.35266/1999-7604-2025-1-1</article-id><article-id custom-type="elpub" pub-id-type="custom">procyber-649</article-id><article-categories><subj-group subj-group-type="heading"><subject>Research Article</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="ru"><subject>ТЕХНИЧЕСКИЕ НАУКИ</subject></subj-group><subj-group subj-group-type="section-heading" xml:lang="en"><subject>Engeneering</subject></subj-group></article-categories><title-group><article-title>Программное обеспечение для записи экрана рабочего стола</article-title><trans-title-group xml:lang="en"><trans-title>Software for desktop screen recording</trans-title></trans-title-group></title-group><contrib-group><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0003-3977-3281</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Берестин</surname><given-names>Д. К.</given-names></name><name name-style="western" xml:lang="en"><surname>Berestin</surname><given-names>D. K.</given-names></name></name-alternatives><bio xml:lang="ru"><p>кандидат физико-математических наук, доцент</p></bio><bio xml:lang="en"><p>Candidate of Sciences (Physics and Mathematics), Docent</p></bio><email xlink:type="simple">berestin_dk@surgu.ru</email><xref ref-type="aff" rid="aff-1"/></contrib><contrib contrib-type="author" corresp="yes"><contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-1860-9303</contrib-id><name-alternatives><name name-style="eastern" xml:lang="ru"><surname>Еловой</surname><given-names>С. Г.</given-names></name><name name-style="western" xml:lang="en"><surname>Elovoy</surname><given-names>S. G.</given-names></name></name-alternatives><bio xml:lang="ru"><p>старший преподаватель</p></bio><bio xml:lang="en"><p>Senior Lecturer</p></bio><xref ref-type="aff" rid="aff-1"/></contrib></contrib-group><aff-alternatives id="aff-1"><aff xml:lang="ru"><institution>Сургутский государственный университет, Сургут</institution><country>Россия</country></aff><aff xml:lang="en"><institution>Surgut State University, Surgut</institution><country>Russian Federation</country></aff></aff-alternatives><pub-date pub-type="collection"><year>2025</year></pub-date><pub-date pub-type="epub"><day>24</day><month>03</month><year>2025</year></pub-date><volume>24</volume><issue>1</issue><fpage>6</fpage><lpage>10</lpage><permissions><copyright-statement>Copyright &amp;#x00A9; Берестин Д.К., Еловой С.Г., 2025</copyright-statement><copyright-year>2025</copyright-year><copyright-holder xml:lang="ru">Берестин Д.К., Еловой С.Г.</copyright-holder><copyright-holder xml:lang="en">Berestin D.K., Elovoy S.G.</copyright-holder><license license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by/4.0/" xlink:type="simple"><license-p>This work is licensed under a Creative Commons Attribution 4.0 License.</license-p></license></permissions><self-uri xlink:href="https://www.vestcyber.ru/jour/article/view/649">https://www.vestcyber.ru/jour/article/view/649</self-uri><abstract><p>В данной статье представлено программное обеспечение для записи звука и видео с использованием библиотек NAudio и Accord.NET. Программа разработана на платформе Visual Studio 2022 с применением языка программирования C# WPF. Основной целью работы было создание доступного и эффективного инструмента для записи экрана рабочего стола компьютера. Методология исследования включала анализ технических аспектов разработки программного обеспечения и экспериментальное тестирование разработанной системы. Результаты показали, что система обладает простым интерфейсом, гибкими настройками и обеспечивает высокое качество записи звука и видео. Подход программы к выбору дисплея для записи и захвату экрана рабочего стола является уникальным и обеспечивает гибкость пользовательских возможностей.</p></abstract><trans-abstract xml:lang="en"><p>This article presents software for recording audio and video using the NAudio and Accord.NET libraries. The program is developed on the Visual Studio 2022 platform using the C# WPF programming language. The main objective of the work is to create an accessible and efficient tool for recording the computer  desktop screen. The research methodology includes an analysis of the technical aspects of software development and experimental testing of the developed system. The results reveal that our system has a simple interface, flexible settings, and provides high-quality audio and video recording. In its approach to selecting a display for recording and capturing the desktop screen, the program is unique and provides flexible user options.</p></trans-abstract><kwd-group xml:lang="ru"><kwd>запись звука</kwd><kwd>запись видео</kwd><kwd>архитектура приложения</kwd></kwd-group><kwd-group xml:lang="en"><kwd>sound recording</kwd><kwd>video recording</kwd><kwd>application architecture</kwd></kwd-group></article-meta></front><body><sec><title>ВВЕДЕНИЕ</title><p>В современном информационном обществе, где визуальные и мультимедийные материалы занимают все более важное место, создание и обмен видеоконтентом становятся неотъемлемой частью нашей повседневной жизни. От обучения и демонстрации рабочих процессов до создания обучающих видеоуроков и игрового стриминга запись экрана рабочего стола является необходимой задачей.</p><p>В данной статье представлено программное обеспечение, разработанное на платформе Visual Studio 2022 с использованием фреймворка C# WPF, которое предназначено для удовлетворения этой потребности. Данное программное обеспечение спроектировано таким образом, чтобы оно могло быть доступно и использовано широким кругом пользователей, включая как опытных специалистов, так и тех, кто только начинает свой путь в мире записи экрана. При этом основным преимуществом является легкость использования и доступность для всех [<xref ref-type="bibr" rid="cit1">1</xref>].</p></sec><sec><title>МАТЕРИАЛЫ И МЕТОДЫ</title><p>При разработке программного обеспечения выбор пал на библиотеки NAudio и Accord, предназначенные для записи звука и видео. Работа с библиотекой NAudio по своей сути проста. Для того чтобы начать запись звука с использованием NAudio, первым шагом является создание объекта WaveInEvent, который предоставляет доступ к звуковому вводу. Пример инициализации объекта WaveInEvent и начала записи звука представлен ниже и в источниках [<xref ref-type="bibr" rid="cit2">2</xref>][<xref ref-type="bibr" rid="cit3">3</xref>]:</p><p>Для записи данных звукового ввода, необходимо обработать событие DataAvailable, которое возникает при поступлении новых аудиоданных. Пример обработки этого события:</p><p>Библиотека Accord.NET обеспечивает возможность записи видео. Для начала записи видео создается объект VideoFileWriter и производится его настройка. Пример кода инициализации и начала записи видео представлен в источниках [<xref ref-type="bibr" rid="cit4">4</xref>][<xref ref-type="bibr" rid="cit5">5</xref>]:</p><p>В коде выбор определенного дисплея осуществляется с использованием библиотеки System.Windows.Forms.Screen, которая предоставляет информацию о подключенных дисплеях. В данной реализации при выборе дисплея для записи осуществляется захват рабочего стола выбранного монитора. Информацию можно найти в источнике [<xref ref-type="bibr" rid="cit6">6</xref>]:</p><p>На рис. 1 представлен элемент комбинированного списка, в котором будут храниться списки доступных дисплеев для захвата. Информацию о каждом дисплее, такую как имя устройства, будем хранить в пользовательском классе DisplayInfo. В дальнейшем из пользовательского класса DisplayInfo этот список будет передаваться в комбинированный список, который реализован с помощью элемента ComboBox, из которого пользователь будет выбирать необходимый ему дисплей для захвата и записи информации.</p><fig id="fig-1"><caption><p>Рис. 1. Интерфейс комбинированного списка при выборе дисплея</p><p>Примечание: составлено авторами.</p></caption><graphic xlink:href="procyber-24-1-g001.png"><uri content-type="original_file">https://cdn.elpub.ru/assets/journals/procyber/2025/1/IxV5rKzKfwNLjN3dvf5Fp1KFBo9cYrtQHkWmqLme.png</uri></graphic></fig><p>После того как пользователь выберет необходимый ему дисплей, при помощи элемента комбинированного списка, происходит захват дисплея программой. Данный функционал реализован с использованием класса ScreenCaptureStream из библиотеки Accord.NET. Пример реализации кода представлен ниже [<xref ref-type="bibr" rid="cit7">7</xref>]:</p><p>В строковой переменной selectedDeviceName содержится имя выбранного дисплея. Далее с использованием класса ScreenCaptureStream происходит захват информации рабочего стола с дисплея, который выбрал пользователь, после чего запускается процесс записи видео. Данный подход и интерфейс наиболее удобен в случае большого количества используемых экранов пользователем [<xref ref-type="bibr" rid="cit8">8</xref>].</p></sec><sec><title>РЕЗУЛЬТАТЫ И ИХ ОБСУЖДЕНИЕ</title><p>Для записи с рабочего стола существует довольно обширный перечень программного обеспечения. Разрабатываемую программу с предварительным названием MitRec сравнили с несколькими аналогичными программами, такими как OBS, Bandicam и Fraps. Для сравнения программного обеспечения между собой были выбраны следующие критерии: стоимость, объем готового файла, нагрузка на систему, наличие обновлений и совместимость с операционными системами. Результаты сравнения представлены в таблице.</p><table-wrap id="table-1"><caption><p>Таблица</p><p>Сравнение аналогов программного обеспечения</p><p>Примечание: составлено авторами.</p></caption><table><tbody><tr><td>Критерии</td><td>OBS</td><td>Bandicam</td><td>Fraps</td><td>MitREC</td></tr><tr><td>Стоимость</td><td>Бесплатно, открытый код</td><td>Платно(нельзя купить)</td><td>Бесплатно</td><td>Бесплатно, открытый код</td></tr><tr><td>Объем готового файла, Мб за 5 сек.</td><td>3,7 Мб(5 секунд)</td><td>3 Мб(5 секунд)</td><td>102 Мб(5 секунд)</td><td>2,90 Мб(5 секунд)</td></tr><tr><td>Нагрузка на систему</td><td>Низкая</td><td>Низкая</td><td>Высокая</td><td>Низкая</td></tr><tr><td>Обновления</td><td>Постоянные обновления</td><td>Постоянные обновления</td><td>Больше не обновляется</td><td>Постоянные обновления</td></tr><tr><td>ОС</td><td>Windows 11/10, macOS 11, Linux</td><td>Windows 11/10/8/7 (64-bit)</td><td>Windows XP, 2003, Vista, and Windows 7</td><td>Windows 11/10</td></tr></tbody></table></table-wrap><p>Разрабатываемый программный продукт для записи информации с рабочего стола будет предлагать следующие отличительные особенности: бесплатное использование, низкая нагрузка на операционную систему, а также планируется дальнейшее регулярное обновление программного обеспечения в виде расширения функций. В настоящее время разрабатываемая программа «MitRec» совместима только с операционными системами семейства Windows, но в дальнейшем планируется адаптировать разрабатываемое программное обеспечение и на других операционных системах.</p></sec><sec><title>ЗАКЛЮЧЕНИЕ</title><p>При разработке программного обеспечения для записи экрана рабочего стола были достигнуты следующие результаты: рассмотрены основные аспекты для записи звука и видео с использованием библиотек NAudio и Accord.NET. Alpha-версия программного продукта была разработана с использованием систем разработки Visual Studio 2022 и фреймворка C# WPF, которая является одним из важных инструментов в сфере создания видео контента, обучения, и демонстрации рабочих процессов.</p><p>Одним из основных достоинств разработанной alpha-версии программного продукта являются его доступность, легкость использования и возможность выбора нужного дисплея для записи, что делает его наиболее универсальным инструментом как для опытных пользователей, так и для новичков. Библиотеки NAudio и Accord.NET позволяют достичь высокого качества записи звука и видео. Использование языка программирования C# и платформы WPF необходимо для обеспечения простого и понятного интерфейса, а также для обеспечения простой архитектуры приложения для дальнейшего расширения его функциональных возможностей.</p><p>Разработанная alpha-версия программного продукта представляет собой эффективный и простой инструмент для записи информации экрана рабочего стола компьютера, который может быть полезен в различных областях, таких как обучение, демонстрация программного обеспечения и игровая индустрия.</p></sec></body><back><ref-list><title>References</title><ref id="cit1"><label>1</label><citation-alternatives><mixed-citation xml:lang="ru">Сайт о программировании. URL: https://metanit.com/sharp (дата обращения: 20.01.2025).</mixed-citation><mixed-citation xml:lang="en">Сайт о программировании. URL: https://metanit.com/sharp (дата обращения: 20.01.2025).</mixed-citation></citation-alternatives></ref><ref id="cit2"><label>2</label><citation-alternatives><mixed-citation xml:lang="ru">Прайс М. Д. C# 10 и .NET 6. Современная кросс-платформенная разработка. СПб. : Питер, 2023. 848 с.</mixed-citation><mixed-citation xml:lang="en">Прайс М. Д. C# 10 и .NET 6. Современная кросс-платформенная разработка. СПб. : Питер, 2023. 848 с.</mixed-citation></citation-alternatives></ref><ref id="cit3"><label>3</label><citation-alternatives><mixed-citation xml:lang="ru">Стиллмен Э., Грин Д. Head First. Изучаем C#.СПб. : Питер, 2022. 768 с.</mixed-citation><mixed-citation xml:lang="en">Стиллмен Э., Грин Д. Head First. Изучаем C#.СПб. : Питер, 2022. 768 с.</mixed-citation></citation-alternatives></ref><ref id="cit4"><label>4</label><citation-alternatives><mixed-citation xml:lang="ru">Гриффитс И. Программируем на C# 8.0. Разработка приложений. СПб. : Питер, 2021. 944 с.</mixed-citation><mixed-citation xml:lang="en">Гриффитс И. Программируем на C# 8.0. Разработка приложений. СПб. : Питер, 2021. 944 с.</mixed-citation></citation-alternatives></ref><ref id="cit5"><label>5</label><citation-alternatives><mixed-citation xml:lang="ru">Video Processing in C# using Accord.NET. URL:https://accord-framework.net/docs/html/T_Accord_Video_FFMPEG_VideoFileWriter.htm (дата обращения: 20.01.2025).</mixed-citation><mixed-citation xml:lang="en">Video Processing in C# using Accord.NET. URL:https://accord-framework.net/docs/html/T_Accord_Video_FFMPEG_VideoFileWriter.htm (дата обращения: 20.01.2025).</mixed-citation></citation-alternatives></ref><ref id="cit6"><label>6</label><citation-alternatives><mixed-citation xml:lang="ru">Документация по интегрированной среде разработки Visual Studio. URL: https://learn.microsoft.com/ru-ru/visualstudio/ide/?view=vs-2022 (дата обращения: 20.01.2025).</mixed-citation><mixed-citation xml:lang="en">Документация по интегрированной среде разработки Visual Studio. URL: https://learn.microsoft.com/ru-ru/visualstudio/ide/?view=vs-2022 (дата обращения: 20.01.2025).</mixed-citation></citation-alternatives></ref><ref id="cit7"><label>7</label><citation-alternatives><mixed-citation xml:lang="ru">Official C# Programming Guide. URL: https://docs.microsoft.com/en-us/dotnet/csharp/ ( дата обращения: 20.01.2025).</mixed-citation><mixed-citation xml:lang="en">Official C# Programming Guide. URL: https://docs.microsoft.com/en-us/dotnet/csharp/ ( дата обращения: 20.01.2025).</mixed-citation></citation-alternatives></ref><ref id="cit8"><label>8</label><citation-alternatives><mixed-citation xml:lang="ru">Screen Capture in C#. URL: https://www.csharpcorner.com/article/screen-capture-in-c-sharp/ (дата обращения: 20.01.2025).</mixed-citation><mixed-citation xml:lang="en">Screen Capture in C#. URL: https://www.csharpcorner.com/article/screen-capture-in-c-sharp/ (дата обращения: 20.01.2025).</mixed-citation></citation-alternatives></ref></ref-list><fn-group><fn fn-type="conflict"><p>The authors declare that there are no conflicts of interest present.</p></fn></fn-group></back></article>
