Ffmpeg kullanarak YouTube'da canlı yayınlamak istediğim bir video var. Videoda ses yok, fakat oldukça meşgul görseller var (çok hızlı değişen renkler). 720p'de yayın yapmaya çalışıyorum, ancak ne zaman canlı yayını izlesem, düzgün değil. Çok fazla kekeme ve tamponlama var. Ancak, canlı yayın sona erdikten ve artık canlı olmayan videoyu izledikten sonra, tüm kareler mevcut ve pürüzsüz.
Bu başlangıçta canlı yayını izlemekle ilgili sorunlarım olduğunu düşündürdü, ancak diğer 720p veya daha yüksek akışları izlemekte sorun yaşamadım. Ayrıca, videomun karmaşık parçalarını yayınlarken ffmpeg "time = ..." yavaşlıyor, bit hızı yükseliyor ve fps de düşüyor.
Bu, sorunun göndermek için kullanıyorum ffmpeg komutuyla olduğuna inandırıyor. Daha basit bir video (siyah kareli beyaz) göndermek için aynı komutu kullandığımda hiçbir sorunum yok.
İşte benim ffmpeg betiğim:
INPUT=""
# Read input as native framerate
INPUT="$INPUT -re"
# Input file
INPUT="$INPUT -i input.flv"
AUDIO=""
# Read input as native framerate
AUDIO="$AUDIO -re"
# Audio codec (lavfi is better for bandwidth?)
AUDIO="$AUDIO -f lavfi"
# Input (dummy)
AUDIO="$AUDIO -i aevalsrc=0"
OUTPUT=""
# Video codec
OUTPUT="$OUTPUT -c:v libx264"
# Video resolution
OUTPUT="$OUTPUT -video_size 1280x720"
# Pixel format
#OUTPUT="$OUTPUT -pix_fmt yuv420p"
# Attempt to force bitrate at 1500k
OUTPUT="$OUTPUT -minrate 150k -maxrate 150k -b:v 150k"
# frames per second
OUTPUT="$OUTPUT -r 25"
# Audio codec
OUTPUT="$OUTPUT -c:a libvo_aacenc"
# GOP size (calculates intraframes)
OUTPUT="$OUTPUT -g 30"
# Format
OUTPUT="$OUTPUT -f flv"
# Allow use of "experimental" encoders
OUTPUT="$OUTPUT -strict experimental"
# Testing
OUTPUT="$OUTPUT rtmp://a.rtmp.youtube.com/live2/xxx"
Bu tür bir videoyu tamponlama olmadan göndermek için ffmpeg kullanmak mümkün müdür?