
搬砖日常
Code Lyoko
这个作者很懒,什么都没留下…
展开
-
vlc推流过程
sout_InputSendBuffer(src/stream_output/stream_output.c):层层调用,最后又调用到pf_send函数指针,这里的指针是sout_stream实例的指针,注意跟上面解复用的区别开。- demux_Demux(include/vlc_demux.h):这个函数直接调用解复用器实例的pf_demux函数指针进行解复用,类似c++的多态,虽然都是调用pf_demux,但是具体的逻辑由具体解复用器设置给该指针的函数决定。原创 2025-02-06 18:19:48 · 639 阅读 · 0 评论 -
编译gstreamer for windows
windows编译gstreamer还是比较简单的,主要都是一些配置环境下载代码之类,这里就简单记录一下。原创 2024-03-01 18:40:17 · 982 阅读 · 0 评论 -
一个使用opencl解码jpeg图像的demo
前言 参考这篇文章:Jpeg 库的解码OpenCL优化然后自己写了一个符合自己代码风格的demo,在这里分享一下工程组织形式.├── .vscode // vscode的隐藏目录├── CMakeLists.txt├── prebuild.sh // 这个脚本用来编译libjpeg库的├── bin // 生成执行文件的目录├── inc├──...原创 2022-05-31 19:13:02 · 817 阅读 · 0 评论 -
编译opencl内核报错unknown type name ‘pipe‘
最近在opencl内核使用2.0的特性pipe的时候,编译时居然提示不认识pipe,但前面已经确认过device的版本就是OpenCL 2.0了 经研究发现增加一个编译选项就可以了,如下status = clBuildProgram(program, 0, NULL, "-cl-std=CL2.0", NULL, NULL); // 增加-cl-std=CL2.0选项感谢这篇文章给予的提示:http://www.136.la/tech/show-92641...原创 2022-05-13 14:51:39 · 362 阅读 · 0 评论 -
android studio如何开启c/c++的断点调试
使用了很久的android studio,发现在c/c++代码打断点的时候,一直无法命中,按网上的说法要在Debugger中开启native类型(如图),但本人的环境无论如何配置,都根本找不到这个所谓的Debugger标签。一度怀疑是版本问题,更新了多次版本,也一样没有这个Debugger。网上好像也没什么人会遇到这样的情况,实在让人沮丧。 现在终于把它解决掉,记录一下 先打开插件,勾选Android NDK Support,重启android s...原创 2022-03-31 18:27:57 · 6722 阅读 · 3 评论 -
opengl es2.0渲染图并局部刷新
最近在鼓捣OpenGL渲染,这东西确实给显示带来很大便利,网上资料也比较多,不过因为这些接口都高度封装,出问题可不太好查。我在网上看了一些资料,有很多渲染图的例子,不过貌似渲染图并刷新的比较少见,所以把我的一些经验分享一下,毕竟像我一样临时现学现搞的菜鸟应该还是比较多的。期间遇到一些坑,还好有大佬的帮忙。。。1. 着色器脚本 这算是opengl的基本概念,就不做详细解释了char *vertex_shader_source ="attribute vec2 ...原创 2021-11-24 18:03:52 · 6480 阅读 · 3 评论 -
android gstreamer打开GST_LOG_OBJECT打印的日志
最近在项目中,想打开GST_LOG_OBJECT所打印的日志,查看代码发现这个宏用的等级是GST_LEVEL_LOG,比debug还低,尝试以下方式gst_debug_set_default_threshold(6);发现并没有打开,经过一番鼓捣,增加了个g_setenv("G_MESSAGES_DEBUG","all",TRUE);发现可以了 参考armv7/share/gst-android/ndk-build/gstreamer_android-1...原创 2021-10-26 11:29:45 · 1593 阅读 · 0 评论 -
FreeRDP走h264编码
最近发现使用freerdp连接远程桌面,播放视频会很卡,猜测是走了图模式,因此想办法让它走流模式。经查资料,图形模式由客户端控制,依赖于第三方的多媒体库,于是下载freerdp源码自己编译。 1. 下载源码,从git上下载即可:https://github.com/FreeRDP/FreeRDP/ 2. 安装ffmpeg-dev 3. 配置cmake,-D可以选择很多参数,-L可以把参数列出来,本人是mac环境,所以加入x86_64,具体可以参考https://g...原创 2021-08-30 18:23:55 · 2626 阅读 · 4 评论 -
编译gstreamer nvenc插件
gstreamer虽然是一个很强大的多媒体框架,不过用的人是真的少,最近在用英伟达的显卡做硬编码,于是百度了一下,顿时就懵圈了,一点资料都没有。。。倒是ffmpeg的资料挺多,而且本人尝试编了一下ffmpeg的硬编版本,确实可以调用英伟达的显卡资源,毕竟坑基本都被踩平了。可惜项目用gstreamer为主,只能摸索着整一下。1.准备源码 先把gstreamer的源码下载下来,解压好,gstreamer的源码很多,主要用到它的本体,和几个插件库支持英伟达显卡硬编码...原创 2021-07-27 17:40:04 · 2500 阅读 · 13 评论 -
编译gstreamer for android
1.下载cerbero工程编译gstreamer可不是件容易事,一个是gst依赖了太多其他库,再一个是gst本身就有很多插件,这些插件分散在不同的工程里,相对来说ffmpeg就显得简单易用了不少,奈何项目里要用到gst,那就只能搞咯,幸运的是,github上有个开源项目,专为gst的交叉编译量身打造的,那就是cerbero项目。它只做两件事情,一个是配置编译环境,另一个是编译打包gst全部的相关工程,先从github上把它下下来git clone https://github.com/GStreamer原创 2021-05-17 17:51:40 · 1485 阅读 · 1 评论 -
用cerbero编译gstreamer时怎么指定版本
在弄gstreamer的安卓编译,根据网上的资料,用cerbero这个开源项目就可以方便的进行编译,这个项目会自动帮我们配置好需要的编译环境,然后自动下载gst源码编译,因为第一次用,折腾了半天不知道怎么指定gst的版本,后来才发现,原来只要切换cerbero的版本就行了然后git checkout -b local_name tag_name就可以了可以看到gst的版本变成了相应的版本...原创 2021-05-13 15:43:28 · 236 阅读 · 0 评论 -
ffmpeg提取视频yuv序列出现帧数有误
在用intel显卡测试视频编码能力的时候,发现一个比较奇怪的问题我用帧数1250帧,帧率25的yuv视频序列作为输入源,用intel的SDK做编码(https://github.com/Intel-Media-SDK/MediaSDK),编成帧率30的h264视频然后为了计算编码后的psnr和ssim,于是用ffmpeg再把编码后的视频的yuv提取出来,命令是ffmpeg -i xx.h264 -c:v rawvideo -s 1920x1080 -pix_fmt yuv420p out.yuv原创 2021-03-30 00:15:40 · 740 阅读 · 0 评论 -
ftp上传文件时出错:550 Permission denied
在往远程服务器上传文件的时候,提示550 Permission denied看来应该就是服务端没放开权限,于是登陆服务器vim /etc/vsftpd.conf打开配置文件然后放开两个权限systemctl restart vsftpd重启ftp服务即可原创 2021-03-26 09:55:15 · 16790 阅读 · 0 评论