【发布时间】:2012-10-06 08:27:45
【问题描述】:
我正在尝试创建 GStreamer 管道 (v 1.0) 以录制和播放特殊文件格式。
出于记录目的,我使用以下管道:
gst-launch-1.0 videotestsrc ! video/x-raw-yuv, format=\(fourcc\)I420, width=640, height=480 ! videoconvert ! x264enc byte-stream=1 ! queue ! appsink
在 appsink 中(使用 new_sample() 回调)我使用压缩方法来压缩 H264 流并最终存储在输出文件中。
我使用以下管道播放录制的文件:
gst-launch-1.0 appsrc ! video/x-h264 ! avdec_h264 ! autovideosink
在 appsrc 中,我解压缩 H264 流并将其发送到 appsrc 缓冲区(使用推送缓冲区)。每个缓冲区的大小为4095。
不幸的是,GStreamer 在推送 2 个缓冲区后会打印以下调试消息:
错误:内部数据流错误。
有什么办法可以解决这个问题吗?
【问题讨论】:
标签: gstreamer