2012-03-09 16 views
8

मैं, लिनक्स पर, एक छवि फ़ाइल में एक एसएफएफ कैसे प्रस्तुत कर सकता हूं? मुझे उस swf में अन्य swfs लोड करने और क्रियालेख कोड चलाने में सक्षम होना चाहिए।पीएनजी या अन्य छवि प्रारूप में एसएफएफ प्रस्तुत करें

क्या यह लिनक्स पर भी संभव है? मुझे इसे PHP से करने की ज़रूरत है, अगर मुझे कमांड लाइन टूल्स का उपयोग करना है तो यह ठीक है।

+0

संभव डुप्लिकेट http://stackoverflow.com/questions/2001946/convert-swf-to- swf फ्रेम प्रस्तुत करना का प्रयास करें पीएनजी) – ruakh

उत्तर

16

swftools से मूल एसडब्ल्यूएफ फाइलों के लिए काम करता है।

swfdec-thumbnailerswfdec-gnome से काम करता है हालांकि यह केवल एसएफएफ का पहला फ्रेम प्राप्त करता है।

swfdec का उपयोग करके SWF से कोई भी फ्रेम प्राप्त करने के लिए निम्न मेलिंग सूची post में सी कोड स्निपेट देखें।

gnashgnash से gnash -s<scale-image-factor> --screenshot last --screenshot-file output.png -1 -r1 input.swf, SWF की अंतिम छवि भी काम करता है।

ffmpegffmpeg से भी कुछ swf प्रारूपों ffmpeg -i movie.swf -f image2 -vcodec png movie%d.png

इसके अलावा एक कमांडलाइन पाइप लाइन के लिए निम्नलिखित guide देखने के लिए काम करता है।

PHP से बाहरी प्रोग्राम को कॉल करने के लिए आप exec कमांड दस्तावेज here का उपयोग करते हैं।

ध्यान दें कि सुरक्षा कारणों से सुरक्षा कारणों से escapeshellcmd या escapeshellarg जैसे अन्य आदेश के साथ exec पर दिए गए तर्कों से बचने के लिए महत्वपूर्ण है।

एक बार जब आप एक छवि प्रारूप में परिवर्तित हो जाते हैं चाहे एकल फ्रेम या सभी फ्रेम के लिए, आप एक्शन स्क्रिप्ट नहीं चला सकते हैं। अन्य गैर जीएनयू/लिनक्स उपकरण एसडब्ल्यूएफ से एक्शन स्क्रिप्ट के निर्यात का समर्थन करते हैं।

तो SWF कि आप पीएनजी के लिए निर्यात कर रहे हैं अन्य उपकरणों के लिए जटिल की तुलना में आप स्क्रीन पर कब्जा सॉफ्टवेयर के साथ फ्लैश प्लगइन या Gnash और Xvfb उपयोग कर सकते हैं SWF की या तो छवि फ्रेम या avi की तरह एक वीडियो प्रारूप पर कब्जा करने की है । फिर आप वीडियो प्रारूप से छवियों को निकाल सकते हैं।

यह आभासी फ्रेमबफर विधि जटिल एसडब्ल्यूएफ फाइलों का समर्थन करेगी, हालांकि आपको बहुत सारे काम की आवश्यकता है क्योंकि आपको या तो गानाश और एक्सवीएफबी और स्क्रीन कैप्चर, या ब्राउज़र, एक्सवीएफबी और सेलेनियम का उपयोग करने की आवश्यकता है, यदि आप एक निश्चित सेट को कैप्चर करना चाहते हैं एसडब्ल्यूएफ के साथ माउस/कीबोर्ड इंटरैक्शन का।

वर्चुअल फ्रेमबफर के साथ और बिना Gnash को निर्यात करने से पहले एक्शनस्क्रिप्ट लोड करना चाहिए, लेकिन जटिल एक्शनस्क्रिप्ट के साथ समस्या हो सकती है। वर्चुअल फ्रेमबफर के साथ फ्लैश प्लगइन निर्यात करने से पहले एक्शनस्क्रिप्ट लोड करेगा।

इसके अलावा निम्नलिखित Stackoverflow सवाल है, जो आप सवाल

+0

सिवाय इसके कि मुझे आवश्यकता है कि एसएफएफ में एक्शनस्क्रिप्ट चल सकती है, मुझे पता है कि swfrender जो मैं चाहता हूं उसके लिए काम नहीं करता है। क्या अन्य क्रियाएँ चलाने की अनुमति देते हैं? –

+0

एक बार पीएनजी को निर्यात करने के बाद, परिणामी पीएनजी छवियों या एमएनजी एनिमेशन इस्तेमाल किए गए टूल के बावजूद क्रियालेख नहीं चला सकते हैं। – Appleman1234

+2

नहीं, मेरा मतलब है कि फ्लैश मूवी को निर्यात करने से पहले इसे जो भी मैं चाहता हूं उसे प्रदर्शित करने के लिए कोड चलाने की जरूरत है। –

1

इस का डुप्लिकेट समाधान मैं का उपयोग कर समाप्त हो गया है देखते हैं।

आप Xvfb (X11 सर्वर) जैसे उपकरण भी और (आप 32-बिट पुस्तकालयों का एक गुच्छा स्थापित करने की आवश्यकता हो सकती है) इसके अंदर स्टैंडअलोन फ़्लैश प्लेयर प्रोजेक्टर चला सकते हैं, तो import की तरह एक स्क्रीन पर कब्जा उपयोगिता का उपयोग पर कब्जा करने के स्क्रीन और इसे आकार में फसल।

मुझे लिनक्स सहायक में swf स्क्रीनशॉट को प्रस्तुत करने पर this page मिला। यह भी कहता है कि आप ऐसा करने के लिए gnash का उपयोग कर सकते हैं, हालांकि gnash फ़्लैश प्लेयर 9 + के लिए काम नहीं करेगा।

संबंधित मुद्दे