मेरे पास एनिमेशन का एक सेट है जिसे मैं कैनवास (fabric.js) या WebGL (three.js) में बना सकता हूं। मुझे उन्हें एक स्क्रिप्ट के माध्यम से स्वचालित रूप से, सर्वर-साइड रिकॉर्ड करने और वीडियो फ़ाइल आउटपुट करने की आवश्यकता है।एक वीडियो में एचटीएमएल कैनवास/वेबजीएल एनीमेशन सर्वर-साइड रिकॉर्ड करने का सबसे अच्छा तरीका?
एनिमेशन में शामिल हैं:
- चित्र
- (ऑडियो के साथ)
- अन्य एनिमेशन/प्रभाव
मैं इस पर पिछले कुछ महीनों के दौरान एक बहुत शोध किया है वीडियो ।
परिणाम
1. उपयोगकर्ता PhantomJS + FFMPEG
नेतृत्वहीन ब्राउज़र (PhantomJS) और FFmpeg के साथ रिकॉर्ड पर भागो एचटीएमएल कैनवास एनिमेशन। यहां मुद्दा है फ़ैंटॉमजेएस न तो वेबजीएल और न ही वीडियो तत्व का समर्थन करता है।http://phantomjs.org/supported-web-standards.html
2. उपयोग WebSockets यहाँ फिर DataURL
का उपयोग कर सर्वर से वापस डेटा भेजने के लिए, हम ब्राउज़र पर एनिमेशन (जो हम नहीं है क्योंकि हम सर्वर पर सब कुछ करना है कर सकते हैं) चलाने की आवश्यकता होगी ।
3. Use node-canvas
यह जो Node.js. पर HTML कैनवास प्रतिपादन की अनुमति देता है टीजे Holowaychuk द्वारा एक पुस्तकालय है लेकिन इसकी अपनी सीमाएं हैं और मैंने वास्तव में इस क्षेत्र की खोज नहीं की है। (यदि कोई इस लाइब्रेरी पर अधिक प्रकाश डाल सकता है)
अगर किसी ने इसे पहले किया है या मुझे कहीं उपयोगी बना सकता है।
हमें बस इतना करना है कि एनिमेशन बनाने के लिए कुछ डेटा का उपयोग करें और उसे वीडियो में रिकॉर्ड करें, सर्वर की तरफ सबकुछ।
'नोड-कैनवास' 2 डी-संदर्भों के लिए प्रतीत होता है। मुझे 'नोड-वेबग्ल' पैकेज मिला लेकिन इसकी निर्भरताओं को स्थापित करने में असफल रहा। हालांकि एक टिप्पणी के रूप में मुझे लिखना है: यदि आप अपने लिए वीडियो आउटपुट करने के लिए एक वेबग्ल संदर्भ (और इसे एक प्रतिपादन इंजन के रूप में उपयोग करना) रिकॉर्ड करना चाहते हैं, तो 1-बाय -1, आप इसे 'xhr' के साथ सर्वर-साइड कर सकते हैं एक स्थानीय सर्वर लेकिन यदि आप इंटरनेट पर प्रत्येक कनेक्टेड उपयोगकर्ता को वीडियो आउटपुट करना चाहते हैं, तो बस यह मान लें कि यह आपके सर्वरएसएसएस को प्रति विज़िटर एक सीपीयू-जीपीयू जोड़े रखने के लिए कहता है। मैं 'सर्वर-साइड 3 डी प्रतिपादन' के लिए Google की जांच कर रहा हूं: 2015 तकनीक के साथ अब कुछ भी गंभीर नहीं है। – Atrahasis
इसके अलावा: आप जो वर्णन करते हैं वह वेबलॉग को अपने लिए एक प्रतिपादन इंजन के रूप में उपयोग करने का तरीका है, यही कारण है कि मैंने इसके बारे में लिखा है। यदि आप केवल वेबसाइट पर ऐसा करने का तरीका ढूंढते हैं तो आपका प्रश्न http://stackoverflow.com/questions/64291/api-for-server-side-3d-rendering का डुप्लिकेट है। लेकिन वहां सभी उत्तरों के अलावा, कोई भी कुछ भी नहीं लाता है ^^ – Atrahasis
@Atrahasis क्या होगा यदि हम केवल कैनवास रिकॉर्ड करना चाहते हैं और नहीं वेबग्ल। इसके लिए नोड-कैनवास का उपयोग किया जा सकता है? क्या यह वीडियो और एनिमेशन का समर्थन करता है? – Abhinav