添加VLC录像API
来源:互联网 发布:塔里木农垦大学知乎 编辑:程序博客网 时间:2024/05/21 09:59
转自 : http://m.blog.csdn.net/blog/shulianghe/19200753
最近使用VLC播放RTSP数据想在本地截图录像,但libvlc中并不包含录像api,网上找到一些资料,自己添加这个接口并测试成功。接口主要是按照官方网站来做的(https://patches.videolan.org/patch/606/)。我是用的源码是最新的,编译过程中很顺利,前提是安装好各种依赖包。测试代码如下:
#include <vlc/vlc.h>#include <assert.h>#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#include <unistd.h>static const char * test_defaults_args[] = { "-v", "--ignore-config", "-I", "dummy", "--no-media-library"};static const int test_defaults_nargs = sizeof (test_defaults_args) / sizeof (test_defaults_args[0]);int main (void){ libvlc_instance_t *instance; libvlc_media_t *media; libvlc_media_player_t *player; const char * file = "rtsp://192.168.1.68"; //instance = libvlc_new (test_defaults_nargs, test_defaults_args); instance = libvlc_new (0, NULL); assert (instance != NULL); //打开文件 //media = libvlc_media_new_path (instance, file); //打开串流 media = libvlc_media_new_location (instance, file); assert (media != NULL); player = libvlc_media_player_new_from_media (media); assert (player != NULL); libvlc_media_release (media); libvlc_media_player_play (player); printf("play\n"); libvlc_media_player_record_start(player, "testfile"); printf("record\n"); sleep(10*10); libvlc_video_take_snapshot(player,0,"test.jpg",0,0); printf("%d\n", libvlc_media_player_get_state(player)); printf("stop record\n"); libvlc_media_player_record_stop(player); printf("stop play\n"); //libvlc_media_player_stop (player); printf("player release\n"); libvlc_media_player_release (player); printf("release\n"); libvlc_release (instance); return 0;}
很惊讶选项里面竟然没有C...。
编译:gcc test.c -o test -lvlc
运行之后截图录像均正常。这里libvlc_media_player_stop()注销是因为有些情况下这个函数会造成死锁,这个涉及到线程安全的一些问题,以后再研究。
0 0
- 添加VLC录像API
- 添加VLC录像API
- 添加VLC录像API
- 给 vlc sdk 添加录像接口
- linux下编译vlc for android 添加 截图(去掉了画中画和路径提示)及录像功能
- vlc activex api
- VLC部分API学习
- 添加VLC模块
- 添加VLC模块
- 更改VLC源码 实现使用libVLC录像功能
- [置顶] 更改VLC源码 实现使用libVLC录像功能
- vlc-android截屏以及录像功能的实现
- 更改VLC源码 实现使用libVLC录像功能
- vlc-android截屏以及录像功能的实现
- 更改VLC源码 实现使用libVLC录像功能
- 待添加,Android扫描二维码,拍照 录像
- Android录像时添加时间水印
- windows 下VLC---LIBVLC API解析---初始化
- 找出字符串中第一个只出现一次的字符
- leetcode 146 —— LRU Cache
- 如果在 unity中滚动 3D 骰子
- 车行无忧 v5.0.3 安卓版
- Mysql数据库事务的隔离级别和锁的实现原理分析
- 添加VLC录像API
- HDU 4883 TIANKENG’s restaurant(排序或优先队列模拟)——BestCoder Round #2
- ASP.NET第一章总结
- UIWebView与JS的深度交互
- java的多线程同步及锁的机制 http://f.dataguru.cn/thread-483280-1-1.html (出处: 炼数成金)
- Codeforces Round #315 (Div. 1)
- TextView加载Html内容(自定义TextView)
- 微信公众号开发系列-网页授权获取用户基本信息
- Linux 下 安装 PHP 的 PDO_MYSQL 扩展