【发布时间】:2013-08-16 13:05:54
【问题描述】:
情况:
我想使用板载 H.264 编码器在我的 Raspberry Pi 512mb 上生成延时摄影。
输入:+300 JPEG 文件(2592 x 1944 像素),例如:http://i.imgur.com/czohiki.jpg
输出:h264 视频文件(2592 x 1944 像素)
GStreamer 1.0.8 + omxencoder (http://pastebin.com/u8T7mE18)
Raspberry Pi 版本:2013 年 6 月 17 日 20:45:38 版本 d380dde43fe729f043befb5cf775f99e54586cde(干净)(发布)
内存:gpu_mem_512=400
Gstreamer 管道:
sudo gst-launch-1.0 -v multifilesrc location=GOPR%04d.JPG 开始索引=4711 停止索引=4750 caps="image/jpeg,framerate=(fraction)25/1" do-timestamp=true ! omxmjpegdec !视频速率!视频/x-raw,帧率=1/5!视频转换! omxh264enc ! “视频/x-h264,profile=high”! h264解析!队列 最大大小字节=10000000! matroskamux !文件接收器位置=test.mkv --gst-debug=4
问题: Gstreamer 挂起,不生成任何输出。
--gst-debug=4:
0:00:01.027331700 2422 0x17824f0 信息 GST_EVENT gstevent.c:709:gst_event_new_segment:创建段事件时间 段开始=0:00:00.000000000,停止=99:99:99.999999999, 速率=1.000000,应用速率=1.000000,标志=0x00, 时间=0:00:00.000000000,基数=0:00:00.000000000,位置 0:00:00.000000000,持续时间 99:99:99.999999999
0:00:29.346875982 2422 0x17824f0 INFO basesrc gstbasesrc.c:2619:gst_base_src_loop: 之后暂停 gst_base_src_get_range() = eos
--gst-debug=5:
0:01:16.089222125 2232 0x1fa8f0 调试 basesrc gstbasesrc.c:2773:gst_base_src_loop:暂停任务, 原因eos
0:01:16.095962979 2232 0x1fa8f0 调试 GST_PADS gstpad.c:5251:gst_pad_pause_task: 暂停任务
0:01:16.107724723 2232 0x1fa8f0 调试任务 gsttask.c:662:gst_task_set_state:更改任务 0x2180a8 到状态 2
0:01:16.435800597 2232 0x1fa8f0 调试 GST_EVENT gstevent.c:300:gst_event_new_custom:创建新事件 0x129f80 eos 28174
0:01:16.436191588 2232 0x1fa8f0 调试 GST_PADS gstpad.c:4628:gst_pad_push_event: 事件 eos 已更新
0:01:16.436414584 2232 0x1fa8f0 调试 GST_PADS gstpad.c:3333:check_sticky: 推动所有粘性 事件
0:01:16.436620579 2232 0x1fa8f0 调试 GST_PADS gstpad.c:3282:push_sticky: 事件流开始是 已经收到了
0:01:16.436816575 2232 0x1fa8f0 调试 GST_PADS gstpad.c:3282:push_sticky: 事件上限已经 收到了
0:01:16.437001571 2232 0x1fa8f0 调试 GST_PADS gstpad.c:3282:push_sticky: 事件段是 已经收到了
0:01:16.440457495 2232 0x1fa8f0 调试 GST_EVENT gstpad.c:4771:gst_pad_send_event_unchecked: 在时间 99:99:99.999999999 有事件类型 eos 事件:(NULL)
0:01:16.449986289 2232 0x1fa8f0 调试视频解码器 gstvideodecoder.c:1144:gst_video_decoder_sink_event: 收到事件 28174,eos
0:01:16.462165024 2232 0x1fa8f0 调试 omxvideodec gstomxvideodec.c:2489:gst_omx_video_dec_drain: 排水组件
0:01:16.463930986 2232 0x1fa8f0 调试 omx gstomx.c:1223:gst_omx_port_acquire_buffer: 从 130 端口获取 video_decode 缓冲区
0:01:16.465537951 2232 0x1fa8f0 调试 omx gstomx.c:1334:gst_omx_port_acquire_buffer: video_decode 端口 130 有待处理的缓冲区
0:01:16.466576928 2232 0x1fa8f0 调试 omx gstomx.c:1353:gst_omx_port_acquire_buffer: 从 video_decode 端口 130 获取缓冲区 0x21f938 (0xb2068550):0
0:01:16.468237892 2232 0x1fa8f0 调试 omx gstomx.c:1375:gst_omx_port_release_buffer: 将缓冲区 0x21f938 (0xb2068550) 释放到 video_decode 端口 130
0:01:16.470360846 2232 0x1fa8f0 调试 omx gstomx.c:1420:gst_omx_port_release_buffer: 将缓冲区 0x21f938 释放到 video_decode 端口 130:无 (0x00000000)
0:01:16.472046809 2232 0x1fa8f0 调试 omxvideodec gstomxvideodec.c:2544:gst_omx_video_dec_drain: 等到组件耗尽
完整的控制台转储:https://mega.co.nz/#!eI1ASBSY!R4mnuGqRH7M8dT4q6j03mBKsQ1A-7oCXU4stu50LnOw
问题:
我做错了什么?
是否有其他或更有效的方法可以在树莓派上从 JPEG 创建高分辨率延时摄影?
【问题讨论】:
标签: gstreamer raspberry-pi video-processing openmax