我有一个程序从USB相机接收已知宽度,高度和格式的原始图像数据。然后它将每个帧输出到stdout。格式为BGR24。
我需要使用gstreamer将其作为h264流传输,但无法找到如何编码原始视频流。
例如,使用ffmpeg,这样做:
my_video_reader | ffmpeg -f rawvideo -pix_fmt bgr24 -s:v 752x480 -i - -f h264 - | <send data here>
答案 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