ဒီလို သာမန် script လေးတွေက ဘာမှမဟုတ်ဘူးလို့ထင်ရပေမယ့် တစ်ချိန်ကျ တစ်ကယ်အသုံးဝင်လာပါတယ်။ဥပမာ မိတ်ဆွေသည် audio format တွေချိန်းပေးတဲ့ web toolလေးတစ်ခုတည်ဆောက်မယ်ဆို ဒီscript လေးက အသုံးဝင်လာပါလိမ့်မယ်။အဲ့တော့ အရမ်းလွယ်လို့စလိုက်ကျရအောင်
ပထမဦးဆုံး ffmpeg ကို install လုပ်ဖို့ လိုပါတယ်။ffmpeg က video audio တွေအတွက်အရမ်းကောင်းတဲ့ tool တစ်ခုပါ။အဲ့တော့ အောက်မှာ step by step installလုပ်နည်းပါပါတယ်။
Step 1 – Setup FFmpeg PPA
$ sudo add-apt-repository ppa:jonathonf/ffmpeg-4
Step 2 – Install FFmpeg on Ubuntu
$ sudo apt-get update
$ sudo apt-get install ffmpeg
Step 3 – Check FFmpeg Version
$ ffmpeg -version
ffmpeg version 4.0.3-1~18.04.york0 Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 7 (Ubuntu 7.3.0-27ubuntu1~18.04)
...
အခု ffmpeg ကို အောင်မြင်စွာ install လုပ်ပြီးပြီဆိုတော့ python ပိုင်းပဲကျန်ပါတော့တယ်။
ffmpy ဆိုတဲ့ python library လေးသည် ffmpeg ကို python နဲ့သုံးရတာအဆင်ပြေအောင်လုပ်ပေးထားပါတယ်။အဲ့တော့ ကျွန်တော်တို့ အဲ့library ကို installလုပ်လိုက်ပါ။ကျွန်တော် recommend ပေးတဲ့နည်းကတော့ virtualenv ထဲ installလုပ်ပါ။
$ pip install ffmpy
ပြီးရင်တော့ code ကိုကြည့်ကြရအောင်
import ffmpy
import argparse
ap = argparse.ArgumentParser()
ap.add_argument("-i","--input",required=True,help="path to input audio file")
ap.add_argument("-o","--output",required=True,help="output audio")
args = vars(ap.parse_args())
def convert_format(filename,output):
if filename[-4:] in ['.mp3','m4a','.ogg','.wav']:
ff = ffmpy.FFmpeg(
inputs={filename:None},
outputs={output:None}
)
ff.run()
convert_format(args['input'],args['output'])
အပေါ်ကတော့ change_format.py ပါဝင်တဲ့ code အားလုံး ဖြစ်ပါတယ်။ပထမဆုံး command line ကနေ input file တွေ output file တွေ ပေးလို့ရအောင် argumentparser နဲ့ လက်ခံလိုက်ပါတယ်။
ပြီးရင်တော့ ffmpeg ရဲ့ အကူညီကို ယူပြီး ကိုယ်ထွက်ချင်တဲ့ extension ကို convert_format function ထဲမှာပြောင်းလိုက်တာဖြစ်ပါတယ်။အောက်ပါတိုင်း runလို့ရပါတယ်။ကျေးဇူးတင်ပါတယ်။
$ python change_format.py --input yourinputfile.mp3 --output two.wav