सवाल avconv - फ़िल्टर drawtext काम नहीं करता है


मैं उपयोग कर एक वीडियो सेगमेंट में कुछ पाठ जोड़ने जा रहा हूँ -vf लेकिन यह काम नहीं करता है। मैंने कोशिश की है

avconv -ss 00:00:20 -i input.mp4 -t 00:00:10 -vcodec copy -acodec copy \
  -vf "drawtext=fontfile='/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf':text='hello world':x=0:y=0:fontsize=24:fontcolor=black" output.mp4

लेकिन पाठ दिखाई नहीं देता है। मुझे पता है कि -t तर्क के बाद प्रकट होना चाहिए -i या अवधि निर्धारित नहीं किया जाएगा। मुझे आश्चर्य है कि मैं गलत जगह लेता हूं -vf इस मामले में। क्या कोई मुझे बताएगा कि इसे कैसे बनाया जाए?

अनुलेख मैं इसे स्थापित करता हूँ apt-get install ffmpeg। सॉफ्टवेयर जानकारी:

avconv version 0.8.9-6:0.8.9-0ubuntu0.13.04.1, Copyright (c) 2000-2013 the Libav developers
  built on Nov  9 2013 19:09:48 with gcc 4.7.3

4
2018-03-19 02:16


मूल




जवाब:


अगर हम अपने वीडियो में टेक्स्ट जोड़ना चाहते हैं drawtext फ़िल्टर हम इसका उपयोग नहीं कर सकते हैं copy वीडियो कोडेक।

वीडियो में टेक्स्ट जोड़ना वीडियो डेटा बदल देगा। इसलिए हमें किसी भी कोडेक के अलावा वीडियो स्ट्रीम को फिर से एन्कोड करना होगा copy


3
2018-03-19 09:12



अगर मैं हटा देता हूं -vcodec avconv एक त्रुटि रिपोर्ट करेगा "एन्कोडर 'एएसी' प्रयोगात्मक है और खराब परिणाम उत्पन्न कर सकता है। अगर आप इसका उपयोग करना चाहते हैं तो '-स्ट्रीम प्रयोगात्मक' जोड़ें।" क्या यह स्थापना के दौरान मैंने की कोई गलती की है? - neuront
आपका स्रोत एएसी एन्कोड किया जा सकता है ... आप फिर से एन्कोडिंग के लिए समर्थित किसी भी vcodec या acodec का चयन कर सकते हैं, या -target कुछ डिफ़ॉल्ट के लिए विकल्प। देख libav.org/avconv.html#Codec-AVOptions - Takkat
वास्तव में मेरे पास नहीं था libavcodec-extra-53 स्थापित। एक के बाद apt-get अब यह ठीक है। - neuront


निम्नलिखित आदेश मेरे लिए काम किया:

avconv -i input.mp4 -vf "drawtext=fontfile='/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf':text='hello world':x=0:y=0:fontsize=24:fontcolor=black" output.mp4

इस एमपी 4 नमूना पर परीक्षण किया फ़ाइल


1
2018-03-19 09:44