Video streaming GStreamer高质量屏幕录音,带音频

Video streaming GStreamer高质量屏幕录音,带音频,video-streaming,gstreamer,gstreamer-1.0,Video Streaming,Gstreamer,Gstreamer 1.0,我正在尝试使用GStreamer从桌面屏幕和内部声音创建RTSP流。到目前为止,我已经将RTSP放在一边创建了一个稳定的管道,并将其保存到一个文件中。我得到: GST_DEBUG=3 gst-launch-1.0 -v -e \ ximagesrc use-damage=false \ ! videorate \ ! videoconvert \ ! "video/x-raw,framerate=30/1" \ ! x264enc i

我正在尝试使用GStreamer从桌面屏幕和内部声音创建RTSP流。到目前为止,我已经将RTSP放在一边创建了一个稳定的管道,并将其保存到一个文件中。我得到:

GST_DEBUG=3 gst-launch-1.0 -v -e \
    ximagesrc use-damage=false \
    ! videorate \
    ! videoconvert  \
    ! "video/x-raw,framerate=30/1" \
    ! x264enc intra-refresh=true speed-preset=6 vbv-buf-capacity=0 qp-min=21 pass=qual quantizer=12 byte-stream=true key-int-max=30  bitrate=128 speed-preset=ultrafast tune=zerolatency \
    ! video/x-h264,profile=high \
    ! queue2 max-size-bytes=0 max-size-buffers=0 max-size-time=0 \
    ! muxer.video_0 \
    pulsesrc \
    ! "audio/x-raw,channels=2,rate=48000" \
    ! queue2 max-size-bytes=0 max-size-buffers=0 max-size-time=0 \
    ! opusenc bitrate=128 \
    ! muxer.audio_0 \
    mp4mux name=muxer \
    ! filesink location=test.mp4
我的问题是,虽然总体质量很好,但我的流中不时会出现一些延迟和“颠簸”,因此音频和视频都不是那么平滑。我正在寻找使这条管道更好的方法,但找不到。我很想得到任何帮助

顺便说一句,我也尝试了ffmpeg,但不幸的是,它也很落后:

 ffmpeg -re -f x11grab -video_size 1920x1080 -r 60 -s 1920x1080 -an -i :0 -i watermark.png -filter_complex [1]lut=a=val*0.65[a];[0][a]overlay=(10):(main_h-overlay_h-10) -f pulse -ac 2 -ar 48000 -vn -i default -f mpegts -c:v libx264 -crf 18 -c:a copy -b:v 1200000 -bf 0 -map 0:v:0 -c:v libvpx -b:v 1000k -deadline realtime -cpu-used 4 -protocol_whitelist pipe,udp,rtp -f tee "RTSP sources..."
虽然这是不可能的话题