当前位置: 首页 > news >正文

门户网站建设 突出服务Wordpress 视频采集插件

门户网站建设 突出服务,Wordpress 视频采集插件,网站模板但没有后台如何做网站,网站续费话术运行效果 介绍 亮度、对比度、色相和饱和度是常见的视频调整, 在 GStreamer 中统称为 Color Balance 设置。 本教程展示了: • 如何找出可用的色彩平衡通道 • 如何更改它们 允许访问颜色平衡设置。如果 元素支持这个接口,只需将其转发给应用…
运行效果

在这里插入图片描述

介绍

     亮度、对比度、色相和饱和度是常见的视频调整, 在 GStreamer 中统称为 Color Balance 设置。 本教程展示了:

          • 如何找出可用的色彩平衡通道

          • 如何更改它们

     允许访问颜色平衡设置。如果 元素支持这个接口,只需将其转发给应用程序,否则会有一个 colorbalance 元素插入到管道中。

GStreamer相关运行库
INCLUDEPATH += D:/Software/GStreamer/1.0/mingw_x86_64/include/gstreamer-1.0/gst
INCLUDEPATH += D:/Software/GStreamer/1.0/mingw_x86_64/include
INCLUDEPATH += D:/Software/GStreamer/1.0/mingw_x86_64/include/gstreamer-1.0
INCLUDEPATH += D:/Software/GStreamer/1.0/mingw_x86_64/include/glib-2.0
INCLUDEPATH += D:/Software/GStreamer/1.0/mingw_x86_64/lib/glib-2.0/includeLIBS += D:/Software/GStreamer/1.0/mingw_x86_64/lib/gstreamer-1.0.lib
LIBS += D:/Software/GStreamer/1.0/mingw_x86_64/lib/glib-2.0.lib
LIBS += D:/Software/GStreamer/1.0/mingw_x86_64/lib/gobject-2.0.lib

源码
#include <string.h>
#include <stdio.h>
#include <gst/gst.h>
#include <gst/video/colorbalance.h>typedef struct _CustomData
{GstElement *pipeline;GMainLoop *loop;
} CustomData;/* 处理色彩平衡命令 */
static void update_color_channel (const gchar *channel_name, gboolean increase, GstColorBalance *cb)
{GstColorBalanceChannel *channel = NULL;/* 检索频道列表并找到所请求的频道 */const GList *channels = gst_color_balance_list_channels (cb);for (const GList *l = channels; l != NULL; l = l->next){GstColorBalanceChannel *tmp = (GstColorBalanceChannel *)l->data;if (g_strrstr (tmp->label, channel_name)){channel = tmp;break;}}if (!channel){return;}/* 更改通道值 */gdouble step = 0.1 * (channel->max_value - channel->min_value);gint value = gst_color_balance_get_value (cb, channel);if (increase){value = (gint)(value + step);if (value > channel->max_value)value = channel->max_value;}else{value = (gint)(value - step);if (value < channel->min_value)value = channel->min_value;}gst_color_balance_set_value (cb, channel, value);
}/* Output the current values of all Color Balance channels */
static void print_current_values (GstElement *pipeline)
{/* 输出所有色彩平衡通道的当前值 */const GList *channels = gst_color_balance_list_channels (GST_COLOR_BALANCE (pipeline));for (const GList *l = channels; l != NULL; l = l->next){GstColorBalanceChannel *channel = (GstColorBalanceChannel *)l->data;gint value = gst_color_balance_get_value (GST_COLOR_BALANCE (pipeline), channel);g_print ("%s: %3d%% ", channel->label, 100 * (value - channel->min_value) / (channel->max_value - channel->min_value));}g_print ("\n");
}/* 处理键盘输入 */
static gboolean handle_keyboard (GIOChannel *source, GIOCondition cond, CustomData *data)
{gchar *str = NULL;if (g_io_channel_read_line (source, &str, NULL, NULL, NULL) != G_IO_STATUS_NORMAL) {  return TRUE; }switch (g_ascii_tolower (str[0])){case 'c':update_color_channel ("CONTRAST", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline));break;case 'b':update_color_channel ("BRIGHTNESS", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline));break;case 'h':update_color_channel ("HUE", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline));break;case 's':update_color_channel ("SATURATION", g_ascii_isupper (str[0]), GST_COLOR_BALANCE (data->pipeline));break;case 'q':g_main_loop_quit (data->loop);break;default:break;}g_free (str);print_current_values (data->pipeline);return TRUE;
}int main(int argc, char *argv[])
{/* 初始化GStreamer */gst_init (&argc, &argv);/* 初始化数据结构 */CustomData data;memset (&data, 0, sizeof (data));/* 打印按键功能 */g_print ("USAGE: Choose one of the following options, then press enter:\n"" 'C' to increase contrast, 'c' to decrease contrast\n"" 'B' to increase brightness, 'b' to decrease brightness\n"" 'H' to increase hue, 'h' to decrease hue\n"" 'S' to increase saturation, 's' to decrease saturation\n"" 'Q' to quit\n");/* 构建管道 */data.pipeline = gst_parse_launch ("playbin uri=https://gstreamer.freedesktop.org/data/media/sintel_trailer-480p.webm", NULL);/* 添加键盘监视器,以便我们收到按键通知 */
#ifdef G_OS_WIN32GIOChannel *io_stdin = g_io_channel_win32_new_fd (fileno (stdin));
#elseGIOChannel *io_stdin = g_io_channel_unix_new (fileno (stdin));
#endifg_io_add_watch (io_stdin, G_IO_IN, (GIOFunc)handle_keyboard, &data);/* 开始播放 */GstStateChangeReturn ret = gst_element_set_state (data.pipeline, GST_STATE_PLAYING);if (ret == GST_STATE_CHANGE_FAILURE){g_printerr ("Unable to set the pipeline to the playing state.\n");gst_object_unref (data.pipeline);return -1;}print_current_values (data.pipeline);/* 创建GLib主循环 */data.loop = g_main_loop_new (NULL, FALSE);g_main_loop_run (data.loop);/* 释放资源 */g_main_loop_unref (data.loop);g_io_channel_unref (io_stdin);gst_element_set_state (data.pipeline, GST_STATE_NULL);gst_object_unref (data.pipeline);return 0;
}

关注

笔者 - jxd

http://www.dtcms.com/a/424378.html

相关文章:

  • stm32l476 adc数据无法采集,开启ASRC,解决方式
  • 厦门建设网站企业网站优化建设山东
  • 【大模型理论篇】AI原生应用的关键要素之上下文工程
  • Java应用实例:密码合法性判断(换行符消耗与判断条件拓展)、打印完数(静态方法应用)
  • 编译原理-期末重点知识总结 电子科技大学
  • Spark小说数据分析与推荐系统 Hadoop 机器学习 爬虫 协同过滤推荐算法 Hive 大数据 毕业设计(源码+文档)✅
  • 星外网站开发wordpress主题投稿
  • frp做网站阿里云 域名 做网站
  • 网站空间速度深圳seo优化项目
  • 如何使用天翼云主机建设网站cms开源
  • flink问题整理
  • 酒店定房网站开发seo教程免费
  • 舆情监测软件:洞察网络舆论的智能守护者
  • 电子数据交换系统(EDI)概述!
  • 博客论坛网站开发注册公司什么网站
  • git回滚
  • 人工智能-机器学习day5
  • 上海网站建设公司电话做托福的网站
  • 上海建设网站的网站asp网站整站下载器
  • MRFS 消融实验记录
  • 内存条与硬盘全维度解析及2025年选购报告-仅代表个人观点
  • 析构函数,构造函数,赋值构造函数
  • iis5.1 建立网站医院 网站建设
  • port trunk pvid vlan vlan-id 概念及题目
  • 建设工程 法律 网站深圳人才网站建设
  • seo建站是什么意思在哪里找软件开发公司
  • 介绍Python对象类型
  • 随州网站建设哪家好wordpress 外观 自定义 没反应
  • 营销型网站建设 课程广告设计包括哪些方面
  • 西安网站建设哪个平台好安徽六安网