سلام دوستان امیدوارم حالتون و حال دلتون خوب باشه.
در این نوشته همون طور که معلومه می خواهیم mp4 رو به mp3 تبدیل کنیم و بعدش هم مرتب کنیم آهنگ یا موزیک هایی که در پوشه خاصی هست.
برای اینکار نرم افزار و سایت های زیادی هست اما ما دنبال اینیم که خودمون برای خودمون این برنامه رو بنویسیم خب پس بریم تو کارش!!!
من برای نوشتن این برنامه از پایتون و کتاب خونه های pyqt5 و moviepy و eyed3 استفاده کردم حالا اگه دوست دارید تا باهم بریم برای نوشتن این برنامه. اول از همه بگم که شما می تونید این برنامه رو در گیت هابم به آدرس https://github.com/AmirhosseinAbutalebi/mp4Tomp3Converter برید و دانلود کنید و از سورس کد یا خود برنامه استفاده کنید.
خب اول از همه برای تبدیل فیلم به موزیک کافیه فقط از moviepy استفاده کنیم خیلی هم راحت مثل کد زیر :
video = VideoFileClip("آدرس دایرکتوری فیلم")
video.audio.write_audiofile("اسمی که می خواهید با اون موزیک ذخیره بشه ")
همین دیدید خیلی راحت و بدون هیچ نرم افزاری فقط با یک کتاب خونه کار ما راه افتاد البته که ما هم کاری نکردیم اما همیشه هم که نباید کاری بکنیم بعضی موقع ها فقط باید استفاده کرد.
حالا که تبدیل رو انجام دادیم بریم برای مرتب کردن آهنگ ها یا موزیک هایی که در یک پوشه داریم
ما می تونیم با استفاده از اسم خوده موزیک اون ها رو مرتب کنیم که فقط کافیه توی یک پوشه دنبال فایلی بگردید که .mp3 داره و اسمش رو جدا کنید اما من این رو نمی خواستم و می خواستم که اسم artist یا همون خواننده رو بهم نشون بده و اگه نداشت بر اساس اسم خوده موزیک مرتب کنه پس برای همین از eyed3 استفاده کردم چطوری الان بهتون میگم:
audio = eyed3.load("فایل موزیک")
artist = audio.tag.artist # بدست آوردن نام خواننده موزیک
if artist == None: # اگه نتونست بفهمه که خواننده کیه
artist = nameAudio # اسم خوده موزیک رو میزاره جاش
destination = pathSongFind + "/" + str(artist)# محل ذخیره رو مشخص میکنیم
if not(os.path.exists(destination)):#اکه چنین پوشه ای نبود ایجاد میکنه اما شاید ما چنین خواننده ای رو پوشه براش ایجاد کرده باشیم
os.mkdir(destination)
songFile = pathSongFind + "/" + file# این جا هم جای آهنگ یا همون موزیک که می خوایم مرتبش کنیم
shutil.move(songFile, destination)# با این دستور هم که انتقالش میدیم
و تمام ما کار خودمون رو کردیم خیلی ساده و راحت و با استفاده از کتابخونه های پایتون کار رو در آوردیم اما کدی که براتون توی گیت هابم قرار دادم به صورت گرافیکی و از pyqt5 استفاده شده برای همین یکمی تعداد خط ها بیشتر میشه اما خبری نیست تهش همین چند تا کده که کار رو انجام میده.
می تونیم بغیر از زبان پایتون از زبان بش هم استفاده کنیم و از کد زیر استفاده کنیم:
در کد بش از دستور exiftool استفاده شده که نام خواننده رو پیدا کنه اما امکان هم داره که نتونه پیدا کنه پس صد در صد مرتب سازی انجام نمیشه.
امیدوارم که خوشتون اومده باشه و بهتون کمک کنه.
به امید روز های بهتر و اینکه امیدمون نا امید نشه ? !!! تا نوشته ای دیگه خدافظی? .