#author("2023-04-02T07:49:23+09:00","default:yakumo_murakami","yakumo_murakami") #author("2023-04-02T07:49:49+09:00","default:yakumo_murakami","yakumo_murakami") [[今さらPython]] Python版video2mp4は何気に愛用しているんだけど、こいつが呼び出してる ffmpeg にはメタ情報の追加が可能。 アルバム名、アーティスト、そしてタイトルだ。 うちの車はAndroid auto任せでナビも何もないけど、音楽プレイヤーだけはついているのだ……表示にアーティスト名も何もないのは寂しいので、追加できるようにスクリプトを改造する事にした。 * Python版video2mp4.py * [#v95f9023] #!/usr/bin/python3 import os import re import subprocess import sys # system("ffmpeg -i \"#{f}\" -y -metadata ALBUM=\"#{album}\" -metadata ARTIST=\"#{artist}\" \"mp4/#{ofn}\"") 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()) * 実行 [#m745b21b] ソースを見ればわかると思うが、video2mp4.pyは、うちでは video2mp4 および putaudio という名前でシンボリックリンクしている。 putaudioの名で呼ばれると、動画などからテキストを抜き出すツールとして動作する。 $ putaudio -album="CADILLAC Best" -artist="CADILLAC" -title="悲しきRadio Station" 'CADILLAC _ 悲しきRadio Station (Single Version).avi' : (色々) : $ _ あとは適当なプレイヤーで再生して、メタ情報を確認してみよう。 * メタ情報 [#d5905c79] アルバム: CADILLAC Best アーティスト: CADILLAC タイトル: 悲しきRadio Station え?こんなバンド知らない? 昔『MamiのRadiかるコミュニケーション』ってラジオ番組で紹介されてた、れっきとした日本のバンドらしいです、はい。