fppege जैसे बाह्य निर्भरताओं के साथ php का उपयोग करके FLV फ़ाइल की लंबाई की गणना करने का सबसे अच्छा तरीका क्या है क्योंकि क्लाइंट साइट साझा होस्टिंग, itry http://code.google.com/p/flv4php/ पर चलती है, लेकिन यह मेटाडेटा निकालती है और सभी वीडियो में मेटा डेटा नहीं होता है?FLV वीडियो फ़ाइल की लंबाई की गणना करें? शुद्ध php
उत्तर
कि करने के लिए एक नहीं बहुत जटिल तरीके से नहीं है।
एफएलवी फाइलों में एक विशिष्ट डेटा संरचना है जो उन्हें रिवर्स ऑर्डर में पार्स करने की अनुमति देती है, यह मानते हुए कि फ़ाइल अच्छी तरह से बनाई गई है।
बस फ़ाइल को खोलें और फ़ाइल के अंत से पहले 4 बाइट्स खोजें।
आपको एक बड़ा एंडियन 32 बिट मान मिलेगा जो कि इन बाइट्स (एफएलवी फाइलों टैग से बने हैं) से पहले टैग के आकार का प्रतिनिधित्व करता है। आप 'एन' प्रारूप विनिर्देश के साथ unpack
फ़ंक्शन का उपयोग कर सकते हैं।
फिर, आप बाइट्स की संख्या पर वापस जा सकते हैं जो आपको अभी मिला है, जिससे आप फ़ाइल में अंतिम टैग की शुरुआत कर सकते हैं।
टैग निम्नलिखित क्षेत्रों में शामिल हैं:
- एक बाइट टैग
- एक बड़ा endian 24 बिट पूर्णांक इस टैग के लिए शरीर की लंबाई का प्रतिनिधित्व करने के प्रकार के संकेत (इससे पहले कि आप पाया मूल्य होना चाहिए, शून्य 11 ... यदि नहीं, तो कुछ गलत है)
- फ़ाइल में टैग के टाइमस्टैम्प का प्रतिनिधित्व करने वाला एक बड़ा एंडियन 24 बिट पूर्णांक, मिलीसेकंड में, साथ ही साथ 8 बिट पूर्णांक 32 बिट्स तक टाइमस्टैम्प का विस्तार करता है।
तो आपको बस इतना करना है कि पहले 32 बिट्स को छोड़ दें, और अनपैक ('एन', ...) आपके द्वारा पढ़े गए टाइमस्टैम्प मान को छोड़ दें।
जैसे कि एफएलवी टैग अवधि आमतौर पर बहुत छोटी होती है, इसे फ़ाइल के लिए काफी सटीक अवधि देनी चाहिए।
यहां कुछ नमूना कोड है:
$flv = fopen("flvfile.flv", "rb");
fseek($flv, -4, SEEK_END);
$arr = unpack('N', fread($flv, 4));
$last_tag_offset = $arr[1];
fseek($flv, -($last_tag_offset + 4), SEEK_END);
fseek($flv, 4, SEEK_CUR);
$t0 = fread($flv, 3);
$t1 = fread($flv, 1);
$arr = unpack('N', $t1 . $t0);
$milliseconds_duration = $arr[1];
दो पिछले fseek factorized जा सकता है, लेकिन मैं उन दोनों को स्पष्टता के लिए छोड़ दिया है।
संपादित करें: कुछ परीक्षण के बाद कोड को फिक्स्ड
मैं आपके उत्तर का अध्ययन करूंगा, धन्यवाद – shox
- 1. मिल flv वीडियो लंबाई
- 2. ऑडियो फ़ाइल की लंबाई प्राप्त करें php
- 3. गणना सामग्री की लंबाई पोस्ट
- 4. नोड्स के बीच पथ की लंबाई की गणना करें?
- 5. स्ट्रिंग की पिक्सेल लंबाई की गणना करने का कोई तरीका?
- 6. PHP एक्सेल सूत्रों की गणना
- 7. PHP व्यक्ति की वर्तमान आयु की गणना
- 8. PHP TZ सेटिंग की लंबाई
- 9. PHP: एक stdClass ऑब्जेक्ट की गणना करें
- 10. बाइनरी छवि में ऑब्जेक्ट्स की लंबाई की गणना करना - एल्गोरिदम
- 11. वीडियो बिट दर और फ़ाइल आकार गणना
- 12. php अपलोड reoginsing .flv और f4v एक्सटेंशन
- 13. अपलोड की गई फ़ाइल के प्रतिशत की गणना कैसे करें?
- 14. Node.js: फ़ाइल में लाइनों की संख्या की गणना करें
- 15. अपाचे, PHP अमान्य सामग्री की लंबाई
- 16. कॉलम मान की लंबाई प्राप्त करें, कॉलम की अधिकतम लंबाई
- 17. अवधि की गणना करें
- 18. मूल्यों की गणना करें
- 19. जावा में स्ट्रिंग की प्रदर्शन चौड़ाई की गणना करें
- 20. ऑडियो फ़ाइल की लंबाई (सेकेंड में)
- 21. जावा BufferedImage फ़ाइलों की गणना कैसे करें
- 22. एंड्रॉइड में वीडियो दृश्य में वीडियो की कुल लंबाई कैसे प्राप्त करें
- 23. PHP: अपने मानों की लंबाई से सरणी को सॉर्ट करें?
- 24. MYSQL गणना की गणना
- 25. एमपी 3 फ़ाइल की समय लंबाई
- 26. सबसे लंबे समय तक सामान्य सबस्ट्रिंग की लंबाई की गणना कैसे करें?
- 27. YouTube की तरह एक छोटी निश्चित लंबाई obfuscated ID की गणना कैसे करें (उदा। 2WNrx2jq184)
- 28. बिना लूप के मैट्रिक्स की यूक्लिडियन लंबाई की गणना कैसे करें?
- 29. शुद्ध PHP
- 30. वैक्टर की एक जोड़ी की न्यूनतम गणना करें
क्या आपका मतलब मिनटों/सेकंड में वीडियो की लंबाई है? –
हां, मेरा मतलब है .. – shox
spec यहां है: http://www.adobe.com/devnet/flv/pdf/video_file_format_spec_v10.pdf इसके माध्यम से wade करने के लिए पूर्ववत नहीं है, लेकिन कोई मामूली कार्य नहीं है। – Wrikken