今さらPython

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

Python版video2mp4.py *

#!/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())

実行

ソースを見ればわかると思うが、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