เมื่อใช้เพียงอย่างเดียวในบรรทัดคำสั่ง ffmpeg SDL จะให้การแสดงผลแบบไลฟ์วิวที่ยอดเยี่ยมโดยแทบไม่มีการหน่วงเวลาในการสตรีมวิดีโอยกเว้นสตรีมเสียง อย่างนี้.
ffmpeg -f dshow -video_size 1920x1080 -rtbufsize 2G -framerate 59.94 -i "Directshow A/V capture devices" -vcodec rawvideo -pix_fmt yuv420p -window_size qcif -f sdl "SDL OUT"
แต่เมื่อใช้ร่วมกับเอาต์พุตอื่น ๆ เช่นในกรณีเอาต์พุตหลายช่องเอาต์พุต SDL แสดงการหน่วงเวลาอย่างมากอย่างมากถึง 5 วินาทีหรือมากกว่า ตัวอย่างเช่นฉันพยายามที่จะแสดงสตรีมวิดีโออินพุตเรียลไทม์โดย SDL และการเข้ารหัสอินพุตและบันทึกไว้ดังต่อไปนี้คำสั่ง ffmpeg ตั้ง แต่การแสดงผล SDL ล่าช้าอย่างมีนัยสำคัญ
ffmpeg -f dshow -video_size 1920x1080 -rtbufsize 2G -framerate 59.94 -i "Directshow A/V capture devices" \
-c:v rawvideo -pix_fmt yuv420p -window_size qcif -f sdl "SDL OUT" \
-c:v h264_qsv -preset fast -profile:v high -b:v 7500k -trellis:v P -r 30 -g 60 -c:a aac -b:a 128k -strict experimental -y -f mpegts d:\test.ts
ไม่มีวิธีใดที่จะทำให้การแสดงผล SDL เป็นแบบเรียลไทม์ใช่หรือไม่
ฉันจะเฝ้าดูวิดีโออินพุตที่บันทึกไว้โดย SDL และเข้ารหัสและบันทึกพร้อมกันได้อย่างไร ขอบคุณล่วงหน้า.