前提・実現したいこと
Pythonを用いて、.mp4形式の動画タグ(以下)を編集したいのですが、方法がわかりません。
画像タグを操作するpiexifでは、下記のように「JPEGとTIFF形式以外は操作できません」というエラーが出てしまいました。
動画タグを操作するライブラリないし方法をご存じの方、ご回答よろしくお願いします。
該当のソースコード
python
1import piexif 2 3path = r"任意の動画パス" 4ed = piexif.load(path) 5 6>>> piexif._exceptions.InvalidImageDataError: Given file is neither JPEG nor TIFF.
試したこと
ffmpyというライブラリを試してみましたが、結果としてタグは取得できませんでした。
動画タグに「Dragon」、コメントに「DD」と入れて下記を実行したところ、取得できたのはコメントだけでした。
python
1import subprocess 2import ffmpy 3import json 4from ffmpy import FFprobe 5 6path = r"任意の動画パス" 7 8tup_resp = ffmpy.FFprobe( 9 executable=r"***\bin\ffprobe.exe", 10 inputs={path: None}, 11 global_options=[ 12 '-v', 'quiet', 13 '-print_format', 'json', 14 '-show_format', '-show_streams'] 15).run(stdout=subprocess.PIPE) 16 17meta = json.loads(tup_resp[0].decode('utf-8')) 18 19print(meta) 20>>>{'streams': [{'index': 0, 'codec_name': 'h264', 'codec_long_name': 'H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10', 'profile': 'High', 'codec_type': 'video', 'codec_tag_string': 'avc1', 'codec_tag': '0x31637661', 'width': 1280, 'height': 720, 'coded_width': 1280, 'coded_height': 720, 'closed_captions': 0, 'has_b_frames': 2, 'sample_aspect_ratio': '1:1', 'display_aspect_ratio': '16:9', 'pix_fmt': 'yuv420p', 'level': 31, 'chroma_location': 'left', 'refs': 1, 'is_avc': 'true', 'nal_length_size': '4', 'r_frame_rate': '25/1', 'avg_frame_rate': '25/1', 'time_base': '1/90000', 'start_pts': 0, 'start_time': '0.000000', 'duration_ts': 13327110, 'duration': '148.079000', 'bit_rate': '949626', 'bits_per_raw_sample': '8', 'nb_frames': '3702', 'disposition': {'default': 1, 'dub': 0, 'original': 0, 'comment': 0, 'lyrics': 0, 'karaoke': 0, 'forced': 0, 'hearing_impaired': 0, 'visual_impaired': 0, 'clean_effects': 0, 'attached_pic': 0, 'timed_thumbnails': 0}, 'tags': {'language': 'und', 'handler_name': 'VideoHandler', 'vendor_id': '[0][0][0][0]', 'encoder': 'dailymotion/hls.js'}}, {'index': 1, 'codec_name': 'aac', 'codec_long_name': 'AAC (Advanced Audio Coding)', 'profile': 'LC', 'codec_type': 'audio', 'codec_tag_string': 'mp4a', 'codec_tag': '0x6134706d', 'sample_fmt': 'fltp', 'sample_rate': '44100', 'channels': 2, 'channel_layout': 'stereo', 'bits_per_sample': 0, 'r_frame_rate': '0/0', 'avg_frame_rate': '0/0', 'time_base': '1/44100', 'start_pts': 0, 'start_time': '0.000000', 'duration_ts': 6529005, 'duration': '148.050000', 'bit_rate': '113059', 'nb_frames': '6376', 'disposition': {'default': 1, 'dub': 0, 'original': 0, 'comment': 0, 'lyrics': 0, 'karaoke': 0, 'forced': 0, 'hearing_impaired': 0, 'visual_impaired': 0, 'clean_effects': 0, 'attached_pic': 0, 'timed_thumbnails': 0}, 'tags': {'language': 'und', 'handler_name': 'SoundHandler', 'vendor_id': '[0][0][0][0]'}}], 'format': {'filename': '###任意の動画フルパス###', 'nb_streams': 2, 'nb_programs': 0, 'format_name': 'mov,mp4,m4a,3gp,3g2,mj2', 'format_long_name': 'QuickTime / MOV', 'start_time': '0.000000', 'duration': '148.080000', 'size': '19751188', 'bit_rate': '1067054', 'probe_score': 100, 'tags': {'major_brand': 'mp42', 'minor_version': '0', 'compatible_brands': 'isomiso2avc1mp41mp42', 'comment': 'DD'}}}
補足情報(FW/ツールのバージョンなど)
Windows10
piexif 1.1.3
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/14 15:31
2021/08/14 15:43
2021/08/14 16:35