Gstreamer:从stdout读取原始图像并将其转换为h264流

时间:2016-05-25 16:05:53

标签: linux bash pipe gstreamer h.264

我有一个程序从USB相机接收已知宽度,高度和格式的原始图像数据。然后它将每个帧输出到stdout。格式为BGR24。

我需要使用gstreamer将其作为h264流传输,但无法找到如何编码原始视频流。

例如,使用ffmpeg,这样做:

my_video_reader | ffmpeg -f rawvideo -pix_fmt bgr24 -s:v 752x480 -i - -f h264 - | <send data here>

1 个答案:

答案 0 :(得分:0)

尝试以下管道,用于将原始YUV帧转换为H264流。

 gst-launch-1.0 videotestsrc ! "video/x-raw,format=I420,width=352,height=288,framerate=30/1" ! videoparse width=352 height=288 framerate=30/1 ! x264enc bitrate=1024 ref=4 key-int-max=20 ! video/x-h264,stream-format=byte-stream,profile=main ! filesink location=v1

如果您想转换文件而不是videotestsrc,只需将 videotestsrc 替换为 filesrc location = filename