[swscaler @ ...] deprecated pixel format used... 警告。你的實現:pts = tnow - t0(相對於第一幀的時間差)。潛在風險:
tnow 非單調遞增。建議:使用編碼器內部時鐘(如 x264 的 i_pts),或基於固定幀率累加 pts += frame_duration,確保單調遞增。
swscaler deprecated pixel format 提示像素格式轉換問題。右鍵菜單觸發重繪,可能迫使 ffplay 刷新緩衝區、重新協商像素格式,間接清理了積壓幀。這說明解碼/渲染管線存在積壓。
VLC 預設啟用較大的網絡緩衝(network-caching 默認 1000ms+)和解碼緩衝。RTMP 服務端若未正確發送 onMetaData、|RtmpSampleAccess 或關鍵幀間隔過大,VLC 會保守地緩衝更多數據。
onMetaData(width, height, framerate, videocodecid 等)。-fflags nobuffer -flags low_delay -framedrop -probesize 32 -analyzeduration 0--network-caching=300。先用 FFprobe 分析你的 RTMP 流結構(ffprobe -show_streams -show_packets rtmp://...),確認關鍵幀間隔、時間戳連續性、Metadata 完整性。問題多半在推流端而非播放端。