今さらPython

Python版video2mp4は何気に愛用しているんだけど、こいつが呼び出してる ffmpeg にはメタ情報の追加が可能。 アルバム名、アーティスト、そしてタイトルだ。

うちの車はAndroid auto任せでナビも何もないけど、音楽プレイヤーだけはついているのだ……表示にアーティスト名も何もないのは寂しいので、追加できるようにスクリプトを改造する事にした。

Python版video2mp4.py *

#!/usr/bin/python3

import os
import re
import subprocess
import sys

p = re.compile(r'\.(avi|mov|mkv|webm|flv)$',flags=re.IGNORECASE)
p2 = re.compile(r'\-(rem(|ove)|del(|ete)|erase)$',flags=re.IGNORECASE)

# メタ情報
p_album = re.compile(r'\-(album)=(.+)$',flags=re.IGNORECASE)
p_artist = re.compile(r'\-(artist)=(.+)$',flags=re.IGNORECASE)
p_title = re.compile(r'\-(title)=(.+)$',flags=re.IGNORECASE)
f_album = ''
f_artist = ''
f_title = ''

myself = os.path.basename(__file__)
otx = '.mp4'
otx2 = ''
f_rem = False
if(myself == "putaudio"):
   otx = '.ogg'
   otx2 = '-vn '
   p = re.compile(r'\.(avi|mov|mkv|webm|flv|mp4)$',flags=re.IGNORECASE)

for i in sys.argv:
   if(p2.search(i) != None):
       f_rem = True # あとで戻り値判定をいれ、実行OKなら元ファイルを消すようにする。
   elif(p.search(i) != None): 
       j = re.sub(p,otx,i)
       if(not os.path.isfile(j)):
               print("不在:"+j)
               x = ''
               if(f_artist != '' and f_album != '' and f_title != ''):
                   x = "nice -n 20 ffmpeg "+otx2+"-i \""+i+"\" -metadata ALBUM=\""+f_album+"\" -metadata ARTIST=\""+f_artist+"\" -metadata TITLE=\""+f_title+"\" \""+j+"\""
               else:
                   x = "nice -n 20 ffmpeg "+otx2+"-i \""+i+"\" \""+j+"\""
               if(x != ''):
                   print(x)
                   subprocess.run(x,shell=True)
   elif(p_album.search(i) != None):
       x_album = p_album.search(i)
       f_album = re.sub('^.+=','',x_album.group())
   elif(p_artist.search(i) != None):
       x_artist = p_artist.search(i)
       f_artist = re.sub('^.+=','',x_artist.group())
   elif(p_title.search(i) != None):
       x_title = p_title.search(i)
       f_title = re.sub('^.+=','',x_title.group())

実行

ソースを見ればわかると思うが、video2mp4.pyは、うちでは video2mp4 および putaudio という名前でシンボリックリンクしている。 putaudioの名で呼ばれると、動画などからテキストを抜き出すツールとして動作する。

$ putaudio -album="CADILLAC Best" -artist="CADILLAC" -title="悲しきRadio Station" 'CADILLAC _ 悲しきRadio Station (Single Version).avi'
:
(色々)
:
$ _

あとは適当なプレイヤーで再生して、メタ情報を確認してみよう。

メタ情報

アルバム: CADILLAC Best
アーティスト: CADILLAC
タイトル: 悲しきRadio Station

え?こんなバンド知らない? 昔『MamiのRadiかるコミュニケーション』ってラジオ番組で紹介されてた、れっきとした日本のバンドらしいです、はい。


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-04-02 (日) 07:49:49