পাইথন ফাংশনে ভিডিও থেকে অডিও উত্তোলনের জন্য ffmpeg মোড়ানো


0

আমি ভিডিও থেকে অডিও উত্তোলনের জন্য পাইথন ফাংশনে ffmpeg মোড়তে চাই। আমি কমান্ড লাইনে এমপি 4 ভিডিওগুলি থেকে সাফল্যের সাথে অডিওটি বের করতে পারি।

ffmpeg -i sourcevideo.mp4 -vn -acodec copy audiotrack.m4a

তবে নীচের ফাংশনটি একটি অদ্ভুত ত্রুটি ছুঁড়েছে এবং আমি এর সমাধান খুঁজে পাচ্ছি না:

def extractAudioTrack(self,inputFilename):
    print "extract audio from of: " + inputFilename
    command = [ FFMPEG_BIN,
                '-i', inputFilename,
                '-vn', 
                '-acodec', 'copy', 
                '-f', 'm4a',
                '-'
                ]
    pipe = sp.Popen(command, stdout = sp.PIPE)
    return StringIO(pipe.proc.stdout.read())

ত্রুটি:

[NULL @ 0x657480] Requested output format 'm4a' is not a suitable output format
pipe:: Invalid argument

আমি কি ভুল করছি?


আপনি নমুনা কমান্ড লাইন আপনার কোড মেলে না। আপনার নমুনা কমান্ড নেই -f m4a, সম্ভবত আপনার কোড থেকে এটি মুছে ফেলুন।
ভারি

উত্তর:


1

সমাধান খুঁজে পেয়েছি। এমপি 4 পাইপে লিখতে পারে না এবং এভাবে প্রবাহিত হতে পারে না। স্ট্রিম এ্যাবি হতে, এটি শেষ হয়ে গেলে আউটপুট শিরোনামটি লিখতে ফাইলের শুরুতে ফিরে সন্ধান করা দরকার।

আমি এটিকে ঠিক করার একটি সমাধান পেয়েছি। কেবলমাত্র -Movflags ফ্রেজ_কিফ্রেমে + খালি_মুভ বিকল্পটি যুক্ত করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.