web-dev-qa-db-ja.com

ストリーミング時のオーディオとビデオの自動同期

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 $?
3
c_korn

Ssrが出力する場合:

Warning: Audio input is more than 5% too fast, video and audio will be out of sync.

または

Warning: Audio input is more than 5% too slow, video and audio will be out of sync.

これを行う:

編集/etc/Pulse/daemon.conf、次の行が含まれていることを確認します(追加またはコメント解除):

default-sample-rate = 44100
alternate-sample-rate = 44100

上流のバグ があり、修正済みとしてマークされていますが、パッチはUbuntuのリポジトリにありません。 simplescreenrecorder bug にはこの回避策が含まれています。

2
c_korn