我目前正试图使用gstreamer记录我的个人电脑输出的副本,但我很难找到一条能工作的管道。
我想要达到的要求是:
到目前为止,我所做的最接近的是以下几条管道:
GST_DEBUG=3,decklink:5 gst-launch-1.0 -e decklinkvideosrc mode=1080p60 ! queue ! videoconvert ! vaapipostproc ! vaapih264enc tune=low-power ! h264parse ! queue ! mux. qtmux name=mux ! filesink location=/home/user/video_a.avi然而,这会导致视频只出现绿色和红色,而且视频的比例很差。输出视频帧。
如有任何建议或帮助,将不胜感激。
发布于 2022-06-30 12:29:13
我设法用以下管道修复了这个问题:
GST_DEBUG=3,decklink:5 gst-launch-1.0 -e decklinkvideosrc ! queue ! videoconvert ! vaapih264enc ! h264parse ! queue ! mux. decklinkaudiosrc ! queue ! audioconvert ! lamemp3enc ! mux. qtmux name=mux ! filesink location=test.avi在使用内核预先安装的免费驱动程序时,vaapih264enc似乎不支持I420格式。因此,您可以使用下面的管道修复此问题。这里我们将I420转换为NV12。
GST_DEBUG=3,decklink:5 gst-launch-1.0 -e decklinkvideosrc mode=1080p60 ! queue ! videoconvert ! video/x-raw,format=NV12 ! vaapih264enc tune=low-power ! h264parse ! queue ! mux. qtmux name=mux ! filesink location=test.avi您还可以通过以下方式安装非免费的va驱动程序来修复这个问题:
sudo apt-get install intel-media-va-driver-non-free然后运行下面的命令,以检查它们是否已安装正确。非自由驱动程序为vaapih264enc解锁高功耗模式,并支持I420格式.
sudo vainfo如果您确实安装了非空闲驱动程序,那么下面的管道应该可以在高性能模式下运行vaapih264enc。
GST_DEBUG=3,decklink:5 gst-launch-1.0 -e decklinkvideosrc mode=1080p60 ! queue ! videoconvert ! vaapih264enc ! h264parse ! queue ! mux. decklinkaudiosrc ! queue ! audioconvert ! lamemp3enc ! mux. qtmux name=mux ! filesink location=test.avihttps://stackoverflow.com/questions/72790005
复制相似问题