我正在尝试将视频从廉价的USB HDMI采集卡转换为更有用的东西。
这个设备输出一个1080p的30fps的MJPEG流,我想在mkv容器中转码成H264。我正在使用Raspberry Pi和Raspbian Buster,所以硬件代码转换是必要的。
gst-launch-1.0 v4l2src device=/dev/video0 ! jpegparse ! v4l2jpegdec ! queue ! videoconvert ! v4l2h264enc ! h264parse ! matroskamux ! filesink location=out.mkv
使用上面的命令,我在不耗尽CPU的情况下获得了合理的质量,但输出文件的回放速度加快和减慢。
我是不是遗漏了什么?有什么好的想法吗?
发布于 2020-09-30 03:19:14
尝试使用硬件omxmjpegdec对v4l2src流中的mjpeg流进行硬件解码。大部分的中央处理器是用来从你的UVC卡的MJPEG解码(USB HDMI捕获)。但是omxmjpegdec在大多数情况下似乎毫无理由地不起作用
更重要的是,pi可以使用omxh264enc而不是v4l2h264enc进行硬件h264编码
gst-launch-1.0 v4l2src device=/dev/video0 ! jpegparse ! v4l2jpegdec ! queue ! videoconvert ! omxh264enc ! h264parse ! matroskamux ! filesink location=out.mkvhttps://stackoverflow.com/questions/62459208
复制相似问题