ใน ffmpeg วิธีการเก็บเอาท์พุท SDL เรียลไทม์สำหรับมุมมองสด?


2

เมื่อใช้เพียงอย่างเดียวในบรรทัดคำสั่ง 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 และเข้ารหัสและบันทึกพร้อมกันได้อย่างไร ขอบคุณล่วงหน้า.

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.