音视频数据采集的设计 - 图文(6)

2019-05-24 11:14

第四章

录音数据,每次读到的数据大小为88200Byte,同录音时每次从音频设备读取的大小相同,并写入音频设备实现放音,直到每次读取的音频数据的累积等于文件音频数据长度,或切换录音为止,连续切换播放录音,需要结束并回收上次录音的线程资源。

删除录音文件:点击选中的录音文件,通过接口remove( wav格式文件路径)删除即可。

自动播放功能:点击播放按钮即可实现自动播放录音,播放录音实现如上所述,当一个录音文件播放完后,会自动进入循环播放录音模式,点击该按钮可停止。

返回录音界面:隐藏当前窗口,显示录音窗口。

录音、播放录音功能实现可参考 图2 录音播放录音功能实现流程图。 设计模板及效果图:

图4-5 放音界面设计模板

第四章

图4-6 放音界面效果图

4.3 录像、拍照界面的设计及功能实现

4.3.1 录像、拍照界面的设计

录像、拍照界面包括拍照、录像选择标签,拍照、录像按钮,录像播放窗口按钮,图像刷新显示区域,返回按钮。

4.3.2 录像功能的实现

当进行拍照、录像界面时,首先初始化V4L2 视频框架,通过接口video_init_device(&window->video,\

\视频设备,通过接口video_start_capturing(&window->video)开启图像捕捉功能,开启线程通过V4L2接口video_get_frame(&window->video, video_frame_rgb, rgb)实时获取摄像头中图像数据并将yuv数据转换rgb格式数据,,GTK中的绘图函数只能够显示rgb格式的数据。需要将摄像头yuv数据转化成rgb数据。

获取摄像头数据在开发板屏幕显示,通过GTK在屏幕实时显示需要刷新绘图区域,实时使用gtk_widget_queue_draw()接口就会自动调用曝光事件所连接

第四章

的回调函数,回调函数中通过调用gdk_draw_rgb_image()接口刷新屏幕从而实现实时显示;

录像时,点击选中录像标签,点击录像按钮,就会开启录像线程,实时获取图像并写入视频文件,直到点击该按钮停止为止。由于rgb数据是原始数据未压缩,直接存储采集的数据会导致视频文件很大,浪费内存空间,所以需要将rgb数据压缩,即将rgb格式的数据转化为jpg格式的数据进行存储,rgb转jpg的函数为:

int compress_rgb24_to_jpeg_buffer(unsigned char *rgb24,

unsigned int width, unsigned int height, unsigned char *jpeg_buffer, int buffer_size, int quality);

视频文件内容 = jpg的大小+jpg内容[+jpg的大小+jpg内容]...

4.3.3 拍照功能的实现

拍照功能,首先点击选中拍照标签,点击录像、拍照按钮,通过调用接口摄像头就会实时捕捉一张图像,但摄像头捕获的图像是由yuv转换的rgb,要通过图片格式转换函数:void rgb24_to_bmp(unsigned char *rgb24, char *bmp_name, int width, int height)将rgb图像转换为bmp格式图片,并按照当前时间取名保存bmp格式文件。

拍照、录像功能实现可参考 图3 录像、拍照功能实现流程图 点击返回主窗口按钮时,会反初始化视频设备,关闭图像捕捉设备。

第四章

设计模板和效果图如下:

图4-7 录像拍照界面设计模板

图4-8 录像拍照界面效果图

第四章

4.4 播放视频、图片界面设计及功能实现

4.4.1 播放视频界面设计

播放视频界面主要包含:图像显示区域,视频文件列表,删除视频文件按钮,

返回按钮。

4.4.2 播放视频界面功能的实现

播放视频界面功能:显示mpg格式文件列表,删除视频文件,返回录像、拍照窗口。

视频文件显示及播放功能实现:进入播放录音界面先通opendir 和readdir

读取指定路径的.mpg文件并显示在屏幕上,点击屏幕上的.wav文件时,分栏列表会产生一个信号,触发选择文\事件,调用事件回调函数,打开选择的视频文件,不停读取视频文件中的图像,先读取jpg大小,再读取jpg数据,将读取的图像显示在电容屏的窗口上,由于读出的图像的格式为jpg格式,所以要将图像数据通过接口再转化为rgb数据格式,转化函数为:int decompress_jpeg_buffer_to_rgb(unsigned char *jpeg_buffer,

int jpeg_size, unsigned char **rgb, int *width, int *height))。

直到读取不到视频数据,视频播放完或者切换视频为止,连续切换播放视频,需要结束并回收上次播放的线程资源。

录像文件的删除同音频文件删除功能实现方式相同。


音视频数据采集的设计 - 图文(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:施工用电施工组织设计

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: