tee
คำสั่งอ่านจากอินพุตมาตรฐานและสำเนาจำนวนไฟล์บวกออกมาตรฐานโดยค่าเริ่มต้นใด ๆ ดูman tee
รายละเอียดเพิ่มเติม ซึ่งหมายความว่าคุณสามารถขอให้ทีออฟสร้างไฟล์จากอินพุตจากนั้นไพพ์เอาต์พุตไปยังสิ่งอื่น
การเพิ่มไปป์พิเศษในทางทฤษฎีจะเพิ่มความไร้ประสิทธิภาพเล็กน้อย คุณจะต้องตัดสินด้วยตัวคุณเองโดยใช้วิธีการสตรีมของคุณเอง วิธีการปัจจุบันของฉันไม่พอใจที่ความละเอียดเต็ม ตอนนี้ยังไม่ได้รับความสนใจอย่างมาก แต่เมื่อไรฉันจะพยายามค้นหาสิ่งที่ดีกว่า (เช่น gstreamer ทำงานได้ดีกว่า clvc)
อย่างไรก็ตามน่าสังเกตว่าไฟล์ที่บันทึกไว้บน pi ในเวลาเดียวกันนั้นมีคุณภาพที่สมบูรณ์แบบดังนั้นกิจกรรมไม่รบกวน raspivid นี่คือตัวอย่าง:
raspivid -o - -t 0 | tee test_video.h264 |
cvlc -v stream:///dev/stdin --sout '#standard{access=http,mux=ts,dest=:8080' :demux=h264
ฉันแยกมันออกเป็นสองบรรทัดเพื่อให้อ่านได้ คุณสามารถตีกลับมาหลัง|
(ท่อ) \
และเสร็จสิ้นคำสั่งเช่นเดียวกับที่คุณสามารถทำลายสอดคล้องกับ คุณสามารถแทนที่cvlc
ด้วยสิ่งที่คุณต้องการ อีกครั้งถึงแม้ว่าสตรีมจะมีคุณภาพต่ำ แต่test_video.h264
ก็สมบูรณ์แบบ
หากฉันลดความละเอียดลงเหลือ 640x360 การจัดเรียงนี้ก็ทำได้ดีโดยมีเวลาแฝงที่สองหรือสองซึ่งเป็นสิ่งที่ฉันได้รับตามปกติ ฉันไม่คิดว่าtee
หรือท่อที่สองสร้างความแตกต่างใด ๆ กับคุณภาพของสตรีม สิ่งเหล่านี้มีความสามารถในการรับส่งข้อมูลที่สูงกว่าความจำเป็นที่นี่และไม่ต้องการทรัพยากรระบบ
วิ่ง CPU ที่ 35-45% tee
ซึ่งเป็นเช่นเดียวกับที่มันไม่เมื่อสตรีมมิ่งวิดีโอซันส์
raspivid
คุณสามารถtee
ส่งออกไปยังไฟล์และ gstreamer หรืออะไรก็ได้ (ดูman tee
) ตราบใดที่กระแสหนึ่งตรงไปยังดิสก์มันจะไม่เพิ่มโอเวอร์เฮดมากนัก แต่ถ้าคุณต้องการประมวลผลอินพุตเป็นสองรูปแบบที่ต่างกันพร้อมกันฉันคิดว่ามันจะทำงานได้มากเกินไปสำหรับ pi ที่จะจัดการ