我想录制一段视频以便将其发布到 YouTube。
我可以将什么样的管道绑定到我的流上以获得 YouTube 的最佳质量(最大限度地减少重新编码的次数等)?
我认为它应该包含一些过滤器以及最适合 Youtube 的音频和视频编解码器。
我打算使用gst-launch
和ximagesrc
。
答案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 的问题。