मुझे इस अनुत्तरित पोस्ट के लिए एक समान समस्या है ।
पहला प्रयास
मैं इस वीडियो फ़ाइल का उपयोग करता हूं जिसमें AAC @ 48000 नमूना दर है। मैंने पहली बार यह कोशिश की:
ffmpeg -i SampleVideo_1280x720_10mb.mp4 -ss 00:00:08.781 -t 17.861 output.mp4
मैंने इस कमांड के साथ आउटपुट अवधि की जाँच की:
ffprobe -i output.mp4 -show_format -v quiet | sed -n 's/duration=//p'
और यह लौट आया 17.883000
मुल्व्या का हल
फिर मैंने मुल्व्या का हल निकाला और कोशिश की
- ऑडियो को बाहर निकालने के लिए
-an
- एक से अधिक के लिए निर्यात की अवधि के बराबर है
0.021333
तो यहाँ मैं कोशिश की है:
ffmpeg -i SampleVideo_1280x720_10mb.mp4 -ss 00:00:08.781 -t 17.856 -an output2.mp4
दुर्भाग्य से, परिणाम है 17.880
और अभी भी ठीक नहीं है।
क्या किसी को पता है कि यहाँ क्या गलत है और एक समाधान है?
2
मैंने उस उत्तर में कोई समाधान नहीं दिया, लेकिन स्पष्ट किया कि क्यों इस बात का कोई मतलब नहीं है।
—
ज्ञान
हाँ मैं जानता हूँ। इससे मुझे वास्तव में अपनी समस्या को बेहतर ढंग से समझने और अधिक सटीक कटौती प्राप्त करने में मदद मिली लेकिन यह दुर्भाग्य से अभी भी 100% सटीक नहीं है। क्या आप सुझाव देते हैं कि जिस तरह की ट्रिम मैं चाहता हूं वह अगम्य है?
—
Matthieu
यदि आपके पास प्रति सेकंड 25 फ़्रेम का फ्रेमरेट है, तो एक फ्रेम में 1/25 = 0,04 सेकंड लगते हैं। इसलिए 0.900 सेकंड में कटौती करने का कोई मतलब नहीं है: या तो 0.880 या 0.920 का उपयोग करें। यह ऑडियो के साथ एक ही है, वैसे: नमूना दर (उदाहरण 48000 हर्ट्ज) के नीचे एक कट का मतलब नहीं होगा।
—
फ्लोलिलो
सिद्धांत रूप में, अंतिम पैकेट की अवधि को समायोजित करना संभव होना चाहिए ताकि उस सटीक मूल्य को प्राप्त किया जा सके (बशर्ते कि टाइमबेस उस रिज़ॉल्यूशन प्रदान करता है), ऐसा मत सोचो कि सीएलआई अनुमति देता है लेकिन एपीआई चाहिए।
—
ज्ञान