मैं कमांड का उपयोग करके mp4 creation_time मेटाडेटा को संपादित करने के लिए ffmpeg का उपयोग कर रहा हूं:
ffmpeg -i input.mp4 -metadata creation_time="YYYY-MM-DD HH:MM:SS" -codec copy output.mp4
निर्माण तिथि सफलतापूर्वक बदल दी गई है, लेकिन आउटपुट फाइलें इनपुट की तुलना में बहुत कम हैं (2.2 एमबी 1.4 एमबी तक कम हो जाती है)। क्या कोई मुझे समझा सकता है कि ऐसा क्यों है, और अगर यह कुछ ऐसा है जिसके बारे में मुझे चिंतित होना चाहिए? मैं वीडियो की गुणवत्ता नहीं खोना चाहता, मैं केवल इतना करना चाहता हूं कि मेटाडेटा निर्माण_ टाइम संपादित करें।
धन्यवाद!
मैंने एक .mp4 पर दोनों कमांड सिंटैक्स का परीक्षण करने की कोशिश की; दोनों समान आउटपुट के परिणामस्वरूप, कुछ बाइट्स मूल की तुलना में आकार में बड़े हैं, लेकिन एक दूसरे के समान हैं।
—
Nevin Williams
एक संकेत है कि एक संभावित हानिपूर्ण पुनः एन्कोडिंग हो रही है, निष्पादन का समय है। एक सीधी प्रतिलिपि तेज है; पुनः एन्कोडिंग में समय लगता है। साथ ही, आप आउटपुट से तुलना कर सकते हैं
—
Nevin Williams
ffmpeg -i input.mp4
तथा ffmpeg -i output.mp4
प्रत्येक फ़ाइल की जानकारी की तुलना करने के लिए। शायद मूल में कुछ बाहरी डेटा था जिसे संशोधित फ़ाइल में ट्रिम किया गया था।
@flolilolilo धन्यवाद, मैंने आपके सुझावों के साथ अपनी स्क्रिप्ट को अपडेट किया। मैं
—
mux
कॉपी ठीक लगती है। ध्यान दें कि इनपुट धाराओं के बिट्रेट 7497 और 123 केबीपीएस हैं, इसलिए आउटपुट में मीडिया स्ट्रीम बरकरार हैं। मुझे संदेह है कि MOOV बॉक्स के भीतर कुछ पेलोड है, UDTA में सबसे अधिक संभावना है कि एक नया MP4 बनाते समय ffmpeg उपेक्षा करेगा।
—
Gyan
ffmpeg -i input.mp4 -map 0 -c copy -metadata creation_time="YYYY-MM-DD HH:MM:SS" output.mp4