流媒体时音频和视频自动同步

c_k*_*orn 5 sync sound video streaming

使用avconv音频和视频将我的桌面流式传输到 twitch.tv 时,音频和视频不同步。有时在开始直播时就已经不同步了,有时它们在一段时间后就分开了。这是我用于流式传输的脚本:

#!/bin/bash
INRES="1920x1080" # input resolution
OUTRES="1280x720"
OFFSET="0,0"
FPS="30" # target FPS
MAXRATE="3000k"
BUFSIZE="3000k"
AUDIOBITRATE="192k"
QUAL="medium" # one of the many FFMPEG preset
STREAM_KEY=$(cat ~/.twitch_key)
URL="rtmp://live.twitch.tv/app/$STREAM_KEY"
SHOW_REGION="0"

avconv -v quiet -f x11grab -show_region $SHOW_REGION -s "$INRES" -r "$FPS" -i :0.0+$OFFSET \
-f alsa -ac 2 -b:a "$AUDIOBITRATE" -i pulse -c:v libx264 -crf 30 -preset "$QUAL" \
-s "$OUTRES" -vol 11200 -c:a libmp3lame -ar 44100 -pix_fmt yuv420p -maxrate "$MAXRATE" -bufsize "$BUFSIZE" \
-f flv "$URL"

exit $?
Run Code Online (Sandbox Code Playgroud)

c_k*_*orn 3

当ssr输出时:

Warning: Audio input is more than 5% too fast, video and audio will be out of sync.
Run Code Online (Sandbox Code Playgroud)

或者

Warning: Audio input is more than 5% too slow, video and audio will be out of sync.
Run Code Online (Sandbox Code Playgroud)

做这个:

编辑/etc/pulse/daemon.conf,确保它包含这些行(添加或取消注释):

default-sample-rate = 44100
alternate-sample-rate = 44100
Run Code Online (Sandbox Code Playgroud)

有一个上游错误已标记为已修复,但补丁不在 Ubuntu 存储库中。simplescreenrecorder错误包含此解决方法。