मैं एक स्क्रिप्ट लिखने की कोशिश कर रहा हूं जिसमें सभी प्रकार की छवियां (प्रारूप, आकार ...) होनी चाहिए और एवोकॉन के साथ एक वीडियो बनाना चाहिए। मैं इसे jpg (सभी समान आकार) की श्रृंखला के साथ काम करने में कामयाब रहा हूं और अब मैं यह सुनिश्चित करने के लिए कन्वर्ट का उपयोग करने की कोशिश कर रहा हूं कि यह सभी छवियों को आकार और प्रारूप में समान बनाकर वीडियो बनाएगा। यहाँ है मैं इसे कैसे करते हैं:
(for J in $(ls "$1/"* 2> /dev/null); do
convert "$J" -resize 640x480 -gravity center \
-size "$FORMAT" -fill black -extent 640x480 jpg jpeg:-
done) | avconv -f image2pipe -r 1/5 -c:v mjpeg -i - \
-vcodec libx264 -r 20 -f mpegts video.mpeg
मुझे उन चित्रों की एक श्रृंखला मिली है, जहां एवोकॉन रिटर्न:
Input stream #0:0 frame changed from size:640x480 fmt:yuvj420p to size:160x120 fmt:yuvj422p
Input stream #0:0 frame changed from size:160x120 fmt:yuvj422p to size:320x240 fmt:yuvj422p
Input stream #0:0 frame changed from size:320x240 fmt:yuvj422p to size:88x128 fmt:yuvj420p
[mjpeg @ 0x101838800] only 8 bits/component accepted
Error while decoding stream #0:0
Input stream #0:0 frame changed from size:88x128 fmt:yuvj420p to size:120x160 fmt:yuvj420p
मैंने जाँच की है और छवि ठीक दिख रही है जब मैं सिर्फ कन्वर्ट का उपयोग कर रहा हूँ। मुझे लगता है कि मैं काम करने के लिए छवि को पूरी तरह से समान बनाने के लिए कन्वर्ट में कुछ याद कर रहा हूं। लेकिन मैं वास्तव में इसे पा नहीं सकता
आपकी मदद के लिए thx!
संपादित करें
इसलिए जांच के बाद ऐसा प्रतीत होता है कि आउटपुट छवियों के समान रिज़ॉल्यूशन और / या सैंपलिंग अनुपात नहीं है। तो मैंने यह कोशिश की है:
(for J in $(ls "$1/"* 2> /dev/null); do
convert "$J" -background '#000000' -resize "640x480"
-gravity center -extent "640x480" -sampling-factor '4:2:2'
-resample '72x72' jpeg:-
done) |
avconv -f image2pipe -r 1/5 -c:v mjpeg -i -
-vcodec libx264 -r 30 "foo.mpeg"
फिर भी कोई सफलता नहीं ...
Input stream #0:0 frame changed from size:640x480 fmt:yuvj422p to size:160x120 fmt:yuvj422p
Input stream #0:0 frame changed from size:160x120 fmt:yuvj422p to size:320x240 fmt:yuvj422p
Input stream #0:0 frame changed from size:320x240 fmt:yuvj422p to size:88x128 fmt:yuvj420p
[mjpeg @ 0x101838800] only 8 bits/component accepted
Error while decoding stream #0:0
Input stream #0:0 frame changed from size:88x128 fmt:yuvj420p to size:120x160 fmt:yuvj420p
पाइप :: इनपुट /
यहां वह छवि है जिसका मैं उपयोग करता हूं:
- http://test_avconv.s3.amazonaws.com/1.png
- http://test_avconv.s3.amazonaws.com/2.jpg
- http://test_avconv.s3.amazonaws.com/3.jpg
- http://test_avconv.s3.amazonaws.com/4.jpg
उम्मीद है की यह मदद करेगा...