Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 21.12.2020
Сообщений: 5

Проблема в скорости записанного видео в OPENCV

15.06.2021, 09:34. Показов 1531. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сделал проект записи видео с экрана при помощи cvVideoWriter (opencv).Работает,качество картинки нормальное,но........скорость записанного видео значительно выше скорости видео на экране. Может кто знает в чем проблема и как ее исправить ?

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
import datetime    
import webbrowser
import interface
import tkinter      #for Linux you must install tkinter and scrot
 
import numpy as np  #pip install numpy
import cv2 as cv    #pip install opencv-python
import pyautogui    #pip install PyAutoGUI
 
status = ""
 
 
# Find the time for name
def find_time():
    x = datetime.datetime.now()
    date_for_name = (x.strftime("%d") + "-" + x.strftime("%m") + "-" + x.strftime("%Y") + "-" + x.strftime("%H") + "-" +
                     x.strftime("%M") + "-" + x.strftime("%S"))
    return date_for_name
 
 
def edit_checks(clicked):
    if clicked == "mp4":
        if interface.mp4_format.get() == False:
            interface.avi_format.set(True)
        else:
            interface.avi_format.set(False)
    elif clicked == "avi":
        if interface.avi_format.get() == False:
            interface.mp4_format.set(True)
        else:
            interface.mp4_format.set(False)
 
 
def result_format():
    if interface.mp4_format.get() == True:
        return ".mp4"
    else:
        return ".avi"
 
 
interface.video_format.add_checkbutton(label=".mp4", onvalue=1, offvalue=0, variable=interface.mp4_format,
                                       command=lambda: edit_checks("mp4"))
interface.video_format.add_checkbutton(label=".avi", onvalue=1, offvalue=0, variable=interface.avi_format,
                                       command=lambda: edit_checks("avi"))
 
interface.about.add_command(label="Mehmet Mert Altuntas",
                            command=lambda: webbrowser.open("https://github.com/mehmet-mert"))
 
 
# Start button command
def create_vid():
    global out
    screen_size = pyautogui.size()
    fourcc = cv.VideoWriter_fourcc(*"XVID")
    out = cv.VideoWriter("Outputs/FrameRecorder " + find_time() + result_format(), fourcc, interface.switch.get(),
                         (screen_size))
 
 
def record():
    img = pyautogui.screenshot()
    frame = np.array(img)
    frame = cv.cvtColor(frame, cv.COLOR_BGR2RGB)
    out.write(frame)
    
def start_record():
    if status in ("end"):
        create_vid()
    status_playing("playing")
 
 
# Report what's happening
def status_playing(yeter):
    global status
    status = yeter
    if status == "stopped":
        interface.pause["state"] = "disabled"
        interface.start["state"] = "normal"
        interface.canvas.itemconfig(interface.info, text="Paused. Continue Recording with Play")
    elif status == "playing":
        interface.pause["state"] = "normal"
        interface.end["state"] = "normal"
        interface.start["state"] = "disabled"
        interface.canvas.itemconfig(interface.info, text="Recording...")
    elif status == "end":
        interface.canvas.itemconfig(interface.info, text="Video Saved At Outputs Folder. Let's Create Another One!")
        interface.pause["state"] = "disabled"
        interface.end["state"] = "disabled"
        interface.start["state"] = "normal"
 
 
interface.start.config(command=lambda: start_record())
interface.end.config(command=lambda: status_playing("end"))
interface.pause.config(command=lambda: status_playing("stopped"))
 
while True:
    interface.root.update()
    interface.switch.place(x=400, y=176, anchor=tkinter.CENTER)
    interface.start.place(x=318, y=230, width=172, height=58)
    interface.pause.place(x=118, y=230, width=172, height=58)
    interface.end.place(x=518, y=230, width=172, height=58)
    interface.root.config(menu=interface.menubar)
    if status == "playing":
        record()
    elif status == "stopped":
        pass
    elif status == "end":
        out.release()
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
15.06.2021, 09:34
Ответы с готовыми решениями:

Вычисление скорости движения объектов с видео c# + opencv
Здравствуйте. Есть задание на ргр, с помощью библиотеки openсv на c# реализовать такой проект, выбрать в форме видео файл, далее программа...

Проблема с захватом видео с камеры через OpenCV
Здравствуйте у меня возникла проблема, нужно написать программу которая захватывает видео с камеры и транслирует в сеть но когда захожу на...

Сжатие записанного видео
Здравствуйте. Не знаю на сколько приемлемо, то что создал данную тему.Так как пишу в продолжение темы...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.06.2021, 09:34
Помогаю со студенческими работами здесь

Зависимость скорости от количества передаваемых переменных на примере из OpenCV
Допустим есть класс: class ImportantThing{ private: int x; int y; public: int getMin(); int getMax();

opencv, корреляция, стабилизация видео
На входе видео файл. Нужно сделать стабилизацию видео, т.е. чтобы картинка как бы стояла. Для этого применяю функцию...

Правильная загрузка видео в OpenCV
Здравствуйте, пытаюсь открыть видео по промеру с робокрафт но при запуске открывается окно и сразу закрывается. В программе не выполняется...

Захват видео из файла в OpenCV
Люди добрые, помогите. Только начинаю программировать на OpenCV. Пытаюсь захватить видео из файла. Пишу самую простую программу ( VS...

OpenCV не могу сохранить видео
Всем привет. Активно изучаю OpenCV и все вроде бы ничего, но почему то видео не хочет сохранять, вместо этого выбрасывает необработанное...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru