- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我尝试使用 video4linux 和 mmap 方法从网络摄像头捕获图像。我的设备是 Gentoo Linux(内核版本 2.6.33.20)上的 Aptina MT9M114 相机。代码基于此示例程序:http://linuxtv.org/downloads/v4l-dvb-apis/capture-example.html
当我想开始捕获时,我运行以下代码来准备缓冲区:
enum v4l2_buf_type type;
for (uint8_t i = 0; i < n_buffers; i++) {
struct v4l2_buffer buf;
CLEAR (buf);
buf.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
buf.memory = V4L2_MEMORY_MMAP;
buf.index = i;
if (-1 == ioctl(fd, VIDIOC_QBUF, &buf)) {
return false;
}
}
当在这里调用 ioctl() 时,我遇到了深层崩溃。这是我的系统日志,我没有更多信息:
Mar 2 20:06:30 nao33 klogd: kernel BUG at drivers/media/video/videobuf-core.c:227!
Mar 2 20:06:30 nao33 klogd: invalid opcode: 0000 [#2] PREEMPT
...
Mar 2 20:06:30 nao33 klogd: EIP: 0060:[<f804dad3>] EFLAGS: 00010246 CPU: 0
Mar 2 20:06:30 nao33 klogd: EIP is at videobuf_qbuf+0x23f/0x32d [videobuf_core]
Mar 2 20:06:30 nao33 klogd: EAX: 00000001 EBX: f5bf7e6c ECX: 00000000 EDX: f5bf7e6c
Mar 2 20:06:30 nao33 klogd: ESI: f6bcf61c EDI: f657f140 EBP: f5bf7dc4 ESP: f5bf7db4
Mar 2 20:06:30 nao33 klogd: DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068 preempt:00000000
Mar 2 20:06:30 nao33 klogd: Process videoexample (pid: 2979, ti=f5bf6000 task=f5bf00b0 task.ti=f5bf6000)
Mar 2 20:06:30 nao33 klogd: Stack:
Mar 2 20:06:30 nao33 klogd: f5bf7e6c f5bf7e6c 00000000 f8255ca3 f5bf7dcc f8255cb0 f5bf7e48 f8148980
Mar 2 20:06:30 nao33 klogd: <0> 0000ee34 00000001 c14a6e94 c044560f f6bcf600 f5bfb540 f825777c f6b18000
Mar 2 20:06:30 nao33 klogd: <0> c14a6e94 f5bf7e10 c101ee52 00000000 f5bf00b0 f5bf7e20 c100160a f5bf0d80
Mar 2 20:06:30 nao33 klogd: Call Trace:
Mar 2 20:06:30 nao33 klogd: [<f8255ca3>] ? vidioc_qbuf+0x0/0xf [unicorn]
Mar 2 20:06:30 nao33 klogd: [<f8255cb0>] ? vidioc_qbuf+0xd/0xf [unicorn]
Mar 2 20:06:30 nao33 klogd: [<f8148980>] ? __video_do_ioctl+0xe00/0x2d31 [videodev]
Mar 2 20:06:30 nao33 klogd: [<c101ee52>] ? set_next_entity+0xab/0x117
Mar 2 20:06:30 nao33 klogd: [<c100160a>] ? __switch_to+0x12/0x14d
Mar 2 20:06:30 nao33 klogd: [<c112dd83>] ? might_fault+0x14/0x16
Mar 2 20:06:30 nao33 klogd: [<c112dedc>] ? _copy_from_user+0x31/0x115
Mar 2 20:06:30 nao33 klogd: [<f814ab79>] ? video_ioctl2+0x2c8/0x368 [videodev]
Mar 2 20:06:30 nao33 klogd: [<c104635f>] ? T.366+0x27/0x33
Mar 2 20:06:30 nao33 klogd: [<f814a8b1>] ? video_ioctl2+0x0/0x368 [videodev]
Mar 2 20:06:30 nao33 klogd: [<f814711c>] ? v4l2_ioctl+0x33/0x37 [videodev]
Mar 2 20:06:30 nao33 klogd: [<c1085daf>] ? vfs_ioctl+0x69/0x91
Mar 2 20:06:30 nao33 klogd: [<c10862ad>] ? do_vfs_ioctl+0x448/0x486
Mar 2 20:06:30 nao33 klogd: [<c107c9dd>] ? fget_light+0x87/0x91
Mar 2 20:06:30 nao33 klogd: [<c108632c>] ? sys_ioctl+0x41/0x61
Mar 2 20:06:30 nao33 klogd: [<c1002790>] ? sysenter_do_call+0x12/0x26
Mar 2 20:06:30 nao33 klogd: Code: 0f 8e e1 00 00 00 68 ba ec 04 f8 e9 77 fe ff ff 83 3d cc f4 04 f8 00 7e 0b 68 dc ec 04 f8 e8 13 e3 29 c9 5a 8b 4e 48 85 c9 75 04 <0f> 0b eb fe 83 f9 07 75 1d 83 7e 4c 02 75 0b c7 46 4c 03 00 00
Mar 2 20:06:30 nao33 klogd: EIP: [<f804dad3>] videobuf_qbuf+0x23f/0x32d [videobuf_core] SS:ESP 0068:f5bf7db4
有人提示一下,这里有什么问题吗?实际上这段代码应该可以工作,因为它在我的本地电脑上工作并且主要是从这个示例中复制的。所以我不知道如何找到问题。
最佳答案
该错误似乎与设置图像尺寸的过程有关。设置 V4L2_FIELD_NONE 而不是 V4L2_FIELD_ANY 解决了崩溃问题。
struct v4l2_format fmt;
...
fmt.type = V4L2_BUF_TYPE_VIDEO_CAPTURE;
fmt.fmt.pix.width = ...
fmt.fmt.pix.height = ...
fmt.fmt.pix.pixelformat = ...
fmt.fmt.pix.field = V4L2_FIELD_NONE;
关于c++ - Video4Linux 在开始捕获时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13922022/
你能解释一下两者之间的区别吗 和 ? 最佳答案 通过使用 .您可以添加多个源元素。多个源元素可以链接到不同的视频文件。浏览器将使用第一个识别的格式。
我正在使用 ImagePickerController 处理 iPhone 视频捕获。我已经设置了图像选择器 Controller 的属性。我用它来将视频的最大长度设置为 60 秒。 imagePic
我正在制作一个进行基本视频处理的应用程序。我成功地合并到视频(视频上的视频)。 如何将左上角的小视频裁剪成一个圆圈? 最佳答案 如果您想导出该视频,您需要: 创建 CALayer,它将成为您的视频层的
我正在使用 SVT-AV1 和 FFMPEG 将视频编码为 AV1 视频和 opus 音频编解码器(.webm),它工作正常,除了视频搜索不起作用(非常糟糕)。当我寻找时,CPU 使用率会上升,并且需
在 Adobe Muse 中使用 VIDEO.JS 目前我已将海报图像配置为在视频开头显示, 当视频结束时,我希望海报图像重新出现。谢谢你的帮助! 最佳答案 将来最好的方法是通过 css。我只是a
我目前正在尝试从单张图片 (1980*1024) 生成视频 这是我的命令: ffmpeg -threads 8 -r 1 -loop 1 -i "C:\Library\Titling\__Resour
我想从 HTML 获取框架 javascript 中的组件,以便我可以处理它们然后输出到 Canvas 最佳答案 看看这个代码笔:Demo var videoId = 'video'; va
我已经使用 video.js 一段时间了,正在寻找响应式解决方案。我看到 4.6 声称是这样,但无法开始工作。我在文档中找不到任何关于使其响应的内容。我基本上只需要它保持在容器的 100% 并保持其纵
我正在寻找任何用于设置视频流服务器的现代资源。最好是开源解决方案。 我对此的搜索导致了很多死胡同。我也确实需要构建自己的服务而不是支付服务费用。 最佳答案 要设置您自己的视频流服务器,您应该从以下组件
如何在处理流媒体或网络视频时拦截“无法播放视频”对话框? 我尝试了以下操作并能够显示我的自定义错误消息。但最重要的是,我仍然收到 Android MediaPlayer 错误对话框“无法播放视频”。
它使我的视频居中并将控件放置在 div 底部但视频流出。在 css 样式表中,css 似乎无法识别。样式表中的 cos 颜色为黑色。我使用 Chrome 。 div.video_div{ width:
在 HTML5 video 元素中,您定义 type 属性的值始终以 video 开头。从元素是视频不是已经很明显,它是视频类型吗?为什么需要这样的视频:type="video/mp4",不应该只是t
我想通过 jQuery 或 Javascript 检测 html5 标签内的特定视频何时已完全加载(我的意思是,下载到浏览器的缓存中)。视频具有 preload = "auto"属性。 我尽我所能做到
HTML5 带来或将带来和 标签等等。自从我听说了他们,读了之后更是如此Why do we have an img element?特别是Jay C. Weber's message back fro
我正在制定一个 Web 应用程序的详细信息,该应用程序涉及顺序加载一长串(非常短的)视频剪辑,一个接一个,用户偶尔会输入建立新的视频剪辑加载方向. 我希望能够让浏览器一次预加载五个视频剪辑。然而,我们
我想知道 HTML5 标签现在支持.avi 格式视频文件的播放。 最佳答案 简短回答:否。改用 WebM 或 Ogg。 This article几乎涵盖了您需要了解的有关 的所有信息元素,包括哪些浏
尽管它似乎处于某种危险之中,但开放视频标准是一个好主意。我看到了一些关于运动跟踪的演示——只是概念验证,但仍然很有趣。现在,我要说的是,如果可以访问用户的网络摄像头,像这样的概念真的会是一个收获……想
我正在尝试使用 php-facebook-sdk 并借助 curl Facebook API 创建广告。 我已经使用 curl 上传了我的视频,它返回了一个 ID。现在,该视频 ID 将用于添加广告,
我正在使用 Video.js在我的网站上显示视频的插件。 我想删除画中画图标。我已经尝试了几个小时,但没有成功。 我做错了什么? 最佳答案 它应该是 data-setup='{"cont
使用 MediaRecorder 从 SurfaceView 录制视频 录音机 recorderProfile = CamcorderProfile.get( CamcorderProfile.QUA
我是一名优秀的程序员,十分优秀!