- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我制作了 qt 快速应用程序,我需要制作一个带有视频的声明性小部件(我不想使用 qt mobility)。就像,这不是问题。但我不知道如何做模糊 libVLC。有谁知道如何使用 libVLC 制作模糊视频?
最佳答案
也许您可以在 QImage 上使用 exboblur 并重新编码模糊视频。
http://www.qtcentre.org/archive/index.php/t-26534.html
static QImage blurred(const QImage& image, const QRect& rect, int radius, bool alphaOnly = false)
{
int tab[] = { 14, 10, 8, 6, 5, 5, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2 };
int alpha = (radius < 1) ? 16 : (radius > 17) ? 1 : tab[radius-1];
QImage result = image.convertToFormat(QImage::Format_ARGB32_Premultiplied);
int r1 = rect.top();
int r2 = rect.bottom();
int c1 = rect.left();
int c2 = rect.right();
int bpl = result.bytesPerLine();
int rgba[4];
unsigned char* p;
int i1 = 0;
int i2 = 3;
if (alphaOnly)
i1 = i2 = (QSysInfo::ByteOrder == QSysInfo::BigEndian ? 0 : 3);
for (int col = c1; col <= c2; col++) {
p = result.scanLine(r1) + col * 4;
for (int i = i1; i <= i2; i++)
rgba[i] = p[i] << 4;
p += bpl;
for (int j = r1; j < r2; j++, p += bpl)
for (int i = i1; i <= i2; i++)
p[i] = (rgba[i] += ((p[i] << 4) - rgba[i]) * alpha / 16) >> 4;
}
for (int row = r1; row <= r2; row++) {
p = result.scanLine(row) + c1 * 4;
for (int i = i1; i <= i2; i++)
rgba[i] = p[i] << 4;
p += 4;
for (int j = c1; j < c2; j++, p += 4)
for (int i = i1; i <= i2; i++)
p[i] = (rgba[i] += ((p[i] << 4) - rgba[i]) * alpha / 16) >> 4;
}
for (int col = c1; col <= c2; col++) {
p = result.scanLine(r2) + col * 4;
for (int i = i1; i <= i2; i++)
rgba[i] = p[i] << 4;
p -= bpl;
for (int j = r1; j < r2; j++, p -= bpl)
for (int i = i1; i <= i2; i++)
p[i] = (rgba[i] += ((p[i] << 4) - rgba[i]) * alpha / 16) >> 4;
}
for (int row = r1; row <= r2; row++) {
p = result.scanLine(row) + c2 * 4;
for (int i = i1; i <= i2; i++)
rgba[i] = p[i] << 4;
p -= 4;
for (int j = c1; j < c2; j++, p -= 4)
for (int i = i1; i <= i2; i++)
p[i] = (rgba[i] += ((p[i] << 4) - rgba[i]) * alpha / 16) >> 4;
}
return result;
}
关于c++ - libVLC 和模糊视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8976822/
我正在开发一个 Android 项目,我想使用 LibVLC 创建一个媒体播放器。要使用此库创建媒体播放器,我需要实例化 LibVLC 对象。但是当我尝试这样做时,实例化将失败并且应用程序将自动关闭。
我下载了 vlc-2.2.4-win32.7z 并提取了文件。我在 VS2010 中创建了一个空项目,并使用我在 https://wiki.videolan.org/LibVLC_Tutorial/
当我尝试执行库 Qt-VLC 的示例时出现以下错误 *** glibc detected *** /home/lalalal/Scrivania/SORGENTI/VLC-QT/build-d
我想在Android平台上开发一个Android程序,并且我还编译了一些libs(例如libvlc.so,libvlcjni.so……)。但是在我构建了这些库之后,我还发现了一些Java代码,一个名为
我正在开发一个利用 Caprica's VLCJ Bindings 的程序. 这对 Windows 和 Mac 来说很好,因为我可以将它们的 VLC 库打包到一个 zip 文件中,并在适当的地方将它们
我目前正在尝试使用LibVLC播放视频,有一些问题: 在具有多个屏幕的计算机上,如何让 LibVLC 在特定屏幕上显示全屏? 我尝试使用 libvlc_video_set_marquee_int。经过
有没有支持 Http Adaptive Streaming 的开源流媒体解决方案?根据我的研究,VLC 不支持自适应流媒体。我不确定 Darwin 流服务器。有什么想法吗? 最佳答案 我看到了它们,但
我目前正在尝试使用LibVLC播放视频,有一些问题: 在具有多个屏幕的计算机上,如何让 LibVLC 在特定屏幕上显示全屏? 我尝试使用 libvlc_video_set_marquee_int。经过
我试图在播放音频文件时设置音量,但它似乎根本不起作用。请问我做错了什么? # create a vlc playable object from source self.playable = vlc.
我有一个 .NET Framework 项目 A 的解决方案,它构建了一个包含类 MyPlayer 的 winforms 应用程序,它需要 LibVLCSharp。为了正确构建和运行应用程序,我必须添
嗨,我有这个代码来流式传输一些视频 package video; import javax.swing.*; import java.awt.*; import java.io.File; impor
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
我正在尝试使用 LibVLC 解码视频文件并将其渲染为纹理。 打开和开始播放的代码有效,音频播放完美,但像素缓冲区始终填充0xCD。我尝试在 VLC 上渲染的视频,甚至在 C# 实现中我也能正常工作,
我有这个代码: public class MediaPanel { public static void main(final String[] args) {
我对使用媒体编解码器还很陌生,我尝试使用 Java 播放媒体文件并进行了一些研究,我发现 vlcj 绑定(bind)符合我的需要。我希望将 libvlc native 库与我的应用程序中的插件模块捆绑
在 vlc 中有一些我在 libvlc 中找不到的视频效果,当我在 vlc 中打开视频时,我可以转到“工具->效果和滤镜->视频效果”,然后有很多视频效果我可以使用,例如否定颜色或降噪器或色调分离器等
我制作了 qt 快速应用程序,我需要制作一个带有视频的声明性小部件(我不想使用 qt mobility)。就像,这不是问题。但我不知道如何做模糊 libVLC。有谁知道如何使用 libVLC 制作模糊
我正在尝试在 LibVLC 中设置日志记录,但遇到了一些问题。 我使用的函数是libvlc_log_set_file,文档如下: LibVLC logging docs 这是我现在的代码: //hea
我正在编写 GTK/VLC 程序。与普通媒体播放器一样,我的程序应按如下方式运行: 双击播放列表(使用GtkTreeView实现)使播放器(使用libvlc_media_player实现)播放选定的媒
我正在使用 libvlc,我想检查媒体位置/路径是否有效: libvlc_instance_t* inst = libvlc_new(0, NULL); libvlc_media_t* m = lib
我是一名优秀的程序员,十分优秀!