用于为 YouTube 编码视频的首选 GStreamer 管道是什么?

用于为 YouTube 编码视频的首选 GStreamer 管道是什么?

我想录制一段视频以便将其发布到 YouTube。

我可以将什么样的管道绑定到我的流上以获得 YouTube 的最佳质量(最大限度地减少重新编码的次数等)?

我认为它应该包含一些过滤器以及最适合 Youtube 的音频和视频编解码器。

我打算使用gst-launchximagesrc

答案1

我目前正在使用以下管道:

gst-launch-1.0 -e ximagesrc xid=$ID ! video/x-raw,framerate=24/1 ! queue ! videoconvert ! \
    videorate ! queue ! x264enc key-int-max=12 cabac=1 bframes=2 ! 'video/x-h264,profile=high' ! \
    queue ! mp4mux name=mux reserved-bytes-per-sec=100 reserved-max-duration=20184000000000 reserved-moov-update-period=100000000 ! \
    queue ! filesink location=video.mp4 pulsesrc device=$DEV ! queue ! audioconvert ! \
    audioresample ! 'audio/x-raw, rate=48000' ! queue ! lamemp3enc bitrate=320 ! queue ! mux.

然后我根据音轨录制音频,并使用 mencoder 将它们混合在一起 :-/

mencoder -ovc copy -oac mp3lame video.mp4 -audiofile audio.wav -o cut.mp4 -endpos 27:13

我还没有弄清楚如何编码 AAC(Youtube 首选),而且这对我来说不再是首要任务。

答案2

实际上,我最终使用了“简单屏幕录像机”应用程序。它的缺点是它无法锁定到 X11 窗口(仅坐标),但它的优点是它可以制作出具有音频-视频同步的相当不错的视频,而这是 gst 的问题。

相关内容