- 博客(15)
- 资源 (2)
- 收藏
- 关注
原创 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
611
原创 Mac的终端无限崩溃
经常遇到Macbook的终端使用git输入中文的时候突然崩溃,然后终端再也开不起来了,一开就崩,这里记录一下在苹果社区找到的解决方法,亲测有效。在Finder中,从菜单栏选择“前往”->“前往文件夹”,或者使用快捷键。,然后在弹出的对话框中输入路径并按回车,再把上述目录删掉即可。但是终端已经打不开了,无法执行命令,所以只需要。只需要把下面的目录删掉就可以了。
2024-07-16 17:48:45
928
原创 编译gstreamer for windows
windows编译gstreamer还是比较简单的,主要都是一些配置环境下载代码之类,这里就简单记录一下。
2024-03-01 18:40:17
924
原创 一个gstreamer录音问题
看起来audioconvert并没有生效,怀疑gstreamer管道默认录制了2个声道的声音,但录音输入应该只有1个声道。最近在用gstreamer录音播放时发现,录制的音频播放时只有一边耳机有声音。这样两边耳机都有声音了。
2023-04-28 16:34:30
380
原创 一个使用opencl解码jpeg图像的demo
前言 参考这篇文章:Jpeg 库的解码OpenCL优化然后自己写了一个符合自己代码风格的demo,在这里分享一下工程组织形式.├── .vscode // vscode的隐藏目录├── CMakeLists.txt├── prebuild.sh // 这个脚本用来编译libjpeg库的├── bin // 生成执行文件的目录├── inc├──...
2022-05-31 19:13:02
807
原创 编译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
358
原创 android studio如何开启c/c++的断点调试
使用了很久的android studio,发现在c/c++代码打断点的时候,一直无法命中,按网上的说法要在Debugger中开启native类型(如图),但本人的环境无论如何配置,都根本找不到这个所谓的Debugger标签。一度怀疑是版本问题,更新了多次版本,也一样没有这个Debugger。网上好像也没什么人会遇到这样的情况,实在让人沮丧。 现在终于把它解决掉,记录一下 先打开插件,勾选Android NDK Support,重启android s...
2022-03-31 18:27:57
6667
3
原创 opengl es2.0渲染图并局部刷新
最近在鼓捣OpenGL渲染,这东西确实给显示带来很大便利,网上资料也比较多,不过因为这些接口都高度封装,出问题可不太好查。我在网上看了一些资料,有很多渲染图的例子,不过貌似渲染图并刷新的比较少见,所以把我的一些经验分享一下,毕竟像我一样临时现学现搞的菜鸟应该还是比较多的。期间遇到一些坑,还好有大佬的帮忙。。。1. 着色器脚本 这算是opengl的基本概念,就不做详细解释了char *vertex_shader_source ="attribute vec2 ...
2021-11-24 18:03:52
6464
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
1589
原创 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
2565
5
原创 编译gstreamer nvenc插件
gstreamer虽然是一个很强大的多媒体框架,不过用的人是真的少,最近在用英伟达的显卡做硬编码,于是百度了一下,顿时就懵圈了,一点资料都没有。。。倒是ffmpeg的资料挺多,而且本人尝试编了一下ffmpeg的硬编版本,确实可以调用英伟达的显卡资源,毕竟坑基本都被踩平了。可惜项目用gstreamer为主,只能摸索着整一下。1.准备源码 先把gstreamer的源码下载下来,解压好,gstreamer的源码很多,主要用到它的本体,和几个插件库支持英伟达显卡硬编码...
2021-07-27 17:40:04
2468
14
原创 编译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
1465
1
原创 用cerbero编译gstreamer时怎么指定版本
在弄gstreamer的安卓编译,根据网上的资料,用cerbero这个开源项目就可以方便的进行编译,这个项目会自动帮我们配置好需要的编译环境,然后自动下载gst源码编译,因为第一次用,折腾了半天不知道怎么指定gst的版本,后来才发现,原来只要切换cerbero的版本就行了然后git checkout -b local_name tag_name就可以了可以看到gst的版本变成了相应的版本...
2021-05-13 15:43:28
231
原创 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
727
原创 ftp上传文件时出错:550 Permission denied
在往远程服务器上传文件的时候,提示550 Permission denied看来应该就是服务端没放开权限,于是登陆服务器vim /etc/vsftpd.conf打开配置文件然后放开两个权限systemctl restart vsftpd重启ftp服务即可
2021-03-26 09:55:15
16608
opencl解码jpeg图像
2022-05-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人