GStreamer 1 fps kayıt sorunu: ilk 3 saniye donmuş kare gösteriyor
Merhaba,
i.MX8 platformunda (Yocto Linux) gömülü bir proje üzerinde çalışıyorum.
Bellek kullanımını azaltmak için 1 fps hızında video kaydetmek istiyorum.
GStreamer işlem hattım buna benzer:
rtspsrc location=rtsp://<ip> latency=100 !
rtph264depay ! h264parse !
v4l2h264dec ! imxvideoconvert_g2d !
video/x-raw,format=RGBA,width=512,height=300 !
videorate !
video/x-raw,framerate=1/1 !
appsink name=myappsink
Sorun:
1 fps hızında kayıt yaptığımda, videonun ilk 3 saniyesi aynı donmuş kareyi (ilk kareyi) gösteriyor. Yaklaşık 3 saniye sonra, kayıt beklendiği gibi 1 fps ile doğru şekilde devam ediyor.
Daha yüksek fps ile (örneğin 3 fps) test ettiğimde sorun ortadan kalkıyor.
Bunun şunlarla ilgili olabileceğini düşünüyorum:
Kod çözücüden eksik/yanlış zaman damgaları (PTS/DTS),
Düşük fps'de anahtar kare (GOP/IDR) aralığı sorunları,
mp4mux veya kodlayıcının ilk IDR karesini beklemesi.
Bu sorunla karşılaşan var mı?
Şunlar için önerilen bir yol var mı:
Her karenin anahtar kare olarak işlenmesini zorunlu kılmak veya
Kod çözücüden sonra zaman damgalarını normalleştirmek (örneğin, kimlik tek segment=doğru senkronizasyon=doğru) veya
Video hızını/kodlayıcıyı, ilk karelerin 1 fps'de donmasını önleyecek şekilde yapılandırmak?
Herhangi bir öneriniz veya çalışan işlem hattı örnekleriniz çok makbule geçer.
Şimdiden teşekkürler!
Gstreamer kullanmayı bilen var mı? Kayıt ile ilgili bir sorunum var.
0
●42