की वास्तविक, वास्तविक अवधि कैसे प्राप्त करें, मैं ffmpeg का उपयोग कर एमपी 3 फाइलों सर्वर-साइड की अवधि की गणना करता था - जो ठीक काम करने लग रहा था। आज मैंने पाया कि कुछ गणना गलत थी। किसी भी तरह, किसी कारण से, ffmpeg अवधि का अनुमान लगाएगा और ऐसा लगता है कि यह केवल परिवर्तनीय बिट दर एमपी 3 फ़ाइलों के साथ होता है।एमपी 3 फ़ाइल (वीबीआर या सीबीआर) सर्वर-साइड
स्थानीय रूप से परीक्षण करते समय, मैंने देखा कि ffmpeg ने हरे रंग में दो अतिरिक्त रेखाएं मुद्रित की हैं।
कमान प्रयोग किया है:
ffmpeg -i song_9747c077aef8.mp3
ffmpeg का कहना है:
[mp3 @ 0x102052600] max_analyze_duration 5000000 reached at 5015510
[mp3 @ 0x102052600] Estimating duration from bitrate, this may be inaccurate
एक अच्छा, गर्म गूगल सत्र के बाद, मैं इस पर कुछ पदों की खोज की है, लेकिन कोई समाधान नहीं मिला था।
मैं तो अधिकतम अवधि को बढ़ाने के लिए करने की कोशिश की:
ffmpeg -analyzeduration 999999999 -i song_9747c077aef8.mp3
इस के बाद, ffmpeg केवल दूसरी पंक्ति लौटे:
[mp3 @ 0x102052600] Estimating duration from bitrate, this may be inaccurate
लेकिन दोनों ही मामलों में, गणना की अवधि सिर्फ सादा गलत था। इसे वीएलसी से तुलना करते हुए मैंने देखा कि अवधि सही है।
अधिक शोध के बाद मैं mp3info पर ठोकर खाई - जिसे मैंने स्थापित और उपयोग किया।
mp3info -p "%S" song_9747c077aef8.mp3
mp3info तो सही अवधि लौट आए, लेकिन केवल एक पूर्णांक है, जो मैं के रूप में मैं एक और अधिक सटीक संख्या यहाँ की जरूरत का उपयोग नहीं कर सकते हैं। इसके लिए कारण नीचे दी गई टिप्पणी में समझाया गया था, उपयोगकर्ता blahdiblah - mp3info फ़ाइल से आईडी 3 जानकारी खींच रहा है और वास्तव में कोई गणना नहीं कर रहा है।
मैंने अवधि को पुनर्प्राप्त करने के लिए mplayer का उपयोग करने का भी प्रयास किया, लेकिन जैसे ही ffmpeg, mplayer गलत मान लौटा रहा है।
http://www.id3.org/ –
धन्यवाद, लेकिन मैं एमपी 3 हेडर/आईडी 3 टैग में उचित अवधि की जानकारी नहीं ले सकता, भले ही मैं चाहता हूं। मुझे 100% सटीक परिणाम प्राप्त करने के लिए इसकी गणना करना है। – SquareCat
आह, तो मुझे लगता है कि आपको एमपी 3 के माध्यम से जाना होगा, और प्रत्येक फ्रेम को ढूंढना होगा, फिर उस अवधि की गणना करें। –