सबसे पहले, आपको display RGB:-
कच्ची बाइट्स खिलाने की ज़रूरत है , न कि एक एन्कोडेड हेक्स स्ट्रिंग जैसी कि आप उस hexdump | sed | tr
पाइपलाइन के साथ निर्माण कर रहे हैं ।
दूसरे, आप इसे पर्याप्त बाइट्स नहीं दे रहे हैं: आपको प्रति पिक्सेल 3 बाइट्स चाहिए, प्रत्येक रंग चैनल के लिए।
यह वही है जो आप चाहते हैं:
mx=320;my=256;head -c "$((3*mx*my))" /dev/urandom | display -depth 8 -size "${mx}x${my}" RGB:-
सीधे पीएनजी को बचाने के लिए, आप यह कर सकते हैं:
mx=320;my=256;head -c "$((3*mx*my))" /dev/urandom | convert -depth 8 -size "${mx}x${my}" RGB:- random.png
यहाँ एक सामान्य आउटपुट छवि है:
यदि आप एक एनीमेशन बनाना चाहते हैं, तो व्यक्तिगत फ़्रेम बनाने और सहेजने की कोई आवश्यकता नहीं है। आप ffmpeg / avconv, जैसे एक कच्ची बाइट स्ट्रीम को सीधे फीड कर सकते हैं
mx=320; my=256; nframes=100; dd if=/dev/urandom bs="$((mx*my*3))" count="$nframes" | avconv -r 25 -s "${mx}x${my}" -f rawvideo -pix_fmt rgb24 -i - random.mp4