Skip to main content

Python bindings for mp4-rust

Project description

mp4-py

PyPI image License Actions status

About Shiguredo's open source software

We will not respond to PRs or issues that have not been discussed on Discord. Also, Discord is only available in Japanese.

Please read https://github.com/shiguredo/oss/blob/master/README.en.md before use.

時雨堂のオープンソースソフトウェアについて

利用前に https://github.com/shiguredo/oss をお読みください。

mp4-py について

mp4-rust の Python バインディングです。 MP4 コンテナフォーマットの読み書きをサポートしています。

対応プラットフォーム

  • macOS 15 arm64
  • macOS 14 arm64
  • Ubuntu 24.04 x86_64
  • Ubuntu 24.04 arm64
  • Ubuntu 22.04 x86_64
  • Ubuntu 22.04 arm64

対応予定プラットフォーム

  • Windows 11 x86_64

対応 Python

  • 3.14
  • 3.13
  • 3.12

インストール

uv add mp4-py

使い方(基本 API)

  • 提供: Mp4FileDemuxer, Mp4FileMuxer
  • ビデオ/オーディオトラックの読み書きをサポート
  • VP8/VP9/AV1、H.264/H.265、Opus/AAC コーデック対応

MP4 ファイルの読み込み

import io
from mp4 import Mp4FileDemuxer

# ファイルパスから demuxer を作成
with Mp4FileDemuxer("input.mp4") as demuxer:
    # サンプルを走査して処理
    for sample in demuxer:
        print(f"Sample: {sample.timestamp_seconds}s, keyframe={sample.keyframe}")
        print(f"Data size: {len(sample.data)} bytes")

# バイナリストリームから demuxer を作成
with open("input.mp4", "rb") as fp:
    demuxer = Mp4FileDemuxer(fp)
    for sample in demuxer:
        # サンプルを処理...
        pass

MP4 ファイルの作成

import io
from mp4 import (
    Mp4FileMuxer,
    Mp4MuxSample,
    Mp4SampleEntryVp08,
)


# ファイルにマルチプレックス
with Mp4FileMuxer("output.mp4") as muxer:
    # VP8 ビデオサンプルエントリーを作成
    video_entry = Mp4SampleEntryVp08(
        width=1920,
        height=1080,
    )

    # フレームを追加
    for i in range(30):
        is_keyframe = (i % 10) == 0  # 10フレームごとにキーフレーム

        # ビデオデータ(実際のエンコード済みデータに置き換えてください)
        video_data = b'\x00' * 1000

        # サンプルを作成して追加
        sample = Mp4MuxSample(
            track_kind="video",
            sample_entry=video_entry,
            keyframe=is_keyframe,
            timescale=30,
            duration=1,
            data=video_data,
        )
        muxer.append_sample(sample)

    # finalize() を呼んでファイルを完成させる(自動的に呼ばれるが明示的に呼ぶこともできます)

# バイナリストリームにマルチプレックス
with open("output.mp4", "wb") as fp:
    with Mp4FileMuxer(fp) as muxer:
        # マルチプレックス処理...
        pass

トラック情報の取得

from mp4 import Mp4FileDemuxer

with Mp4FileDemuxer("input.mp4") as demuxer:
    for track in demuxer.tracks:
        print(f"Track ID: {track.track_id}")
        print(f"Kind: {track.kind}")  # 'video' または 'audio'
        print(f"Duration: {track.duration_seconds:.2f}s")

[!WARNING]

  • 現在は基本的な読み書き機能をサポートしています
  • マルチプレックス時は最初のサンプルで sample_entry を必須で指定してください
  • 同じトラック内で同じコーデック設定が続く場合、sample_entryNone を指定できます

サンプル

  • examples/demux.py: MP4 ファイルをデマルチプレックスしてトラックとサンプル情報を表示
  • examples/remux.py: MP4 ファイルをリマルチプレックス(読み込んで別ファイルに書き込む)

実行例:

uv run python examples/demux.py input.mp4
uv run python examples/remux.py input.mp4 output.mp4

ビルド

uv build --wheel

mp4-rust ライセンス

Apache License 2.0

Copyright 2024-2025, Takeru Ohta (Original Author)
Copyright 2024-2025, Shiguredo Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

mp4-py ライセンス

Apache License 2.0

Copyright 2025-2025, Takeru Ohta (Original Author)
Copyright 2025-2025, Shiguredo Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

mp4_py-2025.1.0.dev0-cp314-cp314-manylinux_2_39_x86_64.whl (348.3 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.39+ x86-64

mp4_py-2025.1.0.dev0-cp314-cp314-manylinux_2_39_aarch64.whl (340.7 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.39+ ARM64

mp4_py-2025.1.0.dev0-cp314-cp314-manylinux_2_35_x86_64.whl (348.3 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.35+ x86-64

mp4_py-2025.1.0.dev0-cp314-cp314-manylinux_2_35_aarch64.whl (340.7 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.35+ ARM64

mp4_py-2025.1.0.dev0-cp314-cp314-macosx_15_0_arm64.whl (310.3 kB view details)

Uploaded CPython 3.14macOS 15.0+ ARM64

mp4_py-2025.1.0.dev0-cp314-cp314-macosx_14_0_arm64.whl (310.3 kB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

mp4_py-2025.1.0.dev0-cp313-cp313-manylinux_2_39_x86_64.whl (348.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ x86-64

mp4_py-2025.1.0.dev0-cp313-cp313-manylinux_2_39_aarch64.whl (340.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.39+ ARM64

mp4_py-2025.1.0.dev0-cp313-cp313-manylinux_2_35_x86_64.whl (348.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.35+ x86-64

mp4_py-2025.1.0.dev0-cp313-cp313-manylinux_2_35_aarch64.whl (340.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.35+ ARM64

mp4_py-2025.1.0.dev0-cp313-cp313-macosx_15_0_arm64.whl (310.3 kB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

mp4_py-2025.1.0.dev0-cp313-cp313-macosx_14_0_arm64.whl (310.3 kB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

mp4_py-2025.1.0.dev0-cp312-cp312-manylinux_2_39_x86_64.whl (348.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ x86-64

mp4_py-2025.1.0.dev0-cp312-cp312-manylinux_2_39_aarch64.whl (340.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.39+ ARM64

mp4_py-2025.1.0.dev0-cp312-cp312-manylinux_2_35_x86_64.whl (348.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.35+ x86-64

mp4_py-2025.1.0.dev0-cp312-cp312-manylinux_2_35_aarch64.whl (340.7 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.35+ ARM64

mp4_py-2025.1.0.dev0-cp312-cp312-macosx_15_0_arm64.whl (310.3 kB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

mp4_py-2025.1.0.dev0-cp312-cp312-macosx_14_0_arm64.whl (310.3 kB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

File details

Details for the file mp4_py-2025.1.0.dev0-cp314-cp314-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for mp4_py-2025.1.0.dev0-cp314-cp314-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 aeb061429adad7500a5b90632d69e632d5af232c058fb6609f3e1562fbf0ab23
MD5 986b70a0da273f7c5111e1c18e0890e5
BLAKE2b-256 6b1816da5db7dbda334bb1f821e7b0015edacacd4da19954b36d24b723937fa2

See more details on using hashes here.

Provenance

The following attestation bundles were made for mp4_py-2025.1.0.dev0-cp314-cp314-manylinux_2_39_x86_64.whl:

Publisher: wheel.yml on shiguredo/mp4-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mp4_py-2025.1.0.dev0-cp314-cp314-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for mp4_py-2025.1.0.dev0-cp314-cp314-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 18f66c5021d8d44c5648c113228e3adea454910820512076ed57a52a06eb814f
MD5 278e2ce60cf6d6a8c8d2d68467337b34
BLAKE2b-256 1508a824d9a24f8a81c7081ccb907c7c0efe5a61e91f6e00378ea2b451e909f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for mp4_py-2025.1.0.dev0-cp314-cp314-manylinux_2_39_aarch64.whl:

Publisher: wheel.yml on shiguredo/mp4-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mp4_py-2025.1.0.dev0-cp314-cp314-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for mp4_py-2025.1.0.dev0-cp314-cp314-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 7a7a62760dfc38f5254772a83d1c755e452bce730feffd90b04ec20e23a5bf48
MD5 c01f96dfb37771efdd3f247a25316548
BLAKE2b-256 a4298a3a058faac059c5fcd64f1fffdf1bde04d8d78e3bf5dd3ec55208833622

See more details on using hashes here.

Provenance

The following attestation bundles were made for mp4_py-2025.1.0.dev0-cp314-cp314-manylinux_2_35_x86_64.whl:

Publisher: wheel.yml on shiguredo/mp4-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mp4_py-2025.1.0.dev0-cp314-cp314-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for mp4_py-2025.1.0.dev0-cp314-cp314-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 b4fd011adff1372a880afce385b138ede7f8b01e01ed7e76c43438ea519aa0f7
MD5 113b3abc81af696c69c3f162371ac0c0
BLAKE2b-256 3898d76d0344602e6a7754688f9b1be5c99baffe8f06c73d15acddfd2dfb20ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for mp4_py-2025.1.0.dev0-cp314-cp314-manylinux_2_35_aarch64.whl:

Publisher: wheel.yml on shiguredo/mp4-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mp4_py-2025.1.0.dev0-cp314-cp314-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for mp4_py-2025.1.0.dev0-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 d4528161d496db348f6584da0c1ec96d44f9fbe1ab9171d55a546e406418f639
MD5 63cf9c5425494726c790568c3db972f8
BLAKE2b-256 c50c060bb197b338c67084a0db355a4d30530ec16b38b580f12e6c0179fbb5c5

See more details on using hashes here.

Provenance

The following attestation bundles were made for mp4_py-2025.1.0.dev0-cp314-cp314-macosx_15_0_arm64.whl:

Publisher: wheel.yml on shiguredo/mp4-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mp4_py-2025.1.0.dev0-cp314-cp314-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for mp4_py-2025.1.0.dev0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4efb95648c1ef8de120ce05ecb32d1e7d010a3e038df31755019051fd5b6d112
MD5 1a23f1db027b1c0825c6769db1c2308a
BLAKE2b-256 1b86bc070f2c206542ece936536790f169f8d414c3e9b0ade6328313135a3dc8

See more details on using hashes here.

Provenance

The following attestation bundles were made for mp4_py-2025.1.0.dev0-cp314-cp314-macosx_14_0_arm64.whl:

Publisher: wheel.yml on shiguredo/mp4-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mp4_py-2025.1.0.dev0-cp313-cp313-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for mp4_py-2025.1.0.dev0-cp313-cp313-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 9fed24c932b148cdc09b91e856d39534fee77bffdc912433d9026462612df51e
MD5 67c864da61db5ad3a3a9c009cf58a496
BLAKE2b-256 412977b9c321b522a3718c0e62cdbd3d221709f072005eee572eb06a4a9c107a

See more details on using hashes here.

Provenance

The following attestation bundles were made for mp4_py-2025.1.0.dev0-cp313-cp313-manylinux_2_39_x86_64.whl:

Publisher: wheel.yml on shiguredo/mp4-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mp4_py-2025.1.0.dev0-cp313-cp313-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for mp4_py-2025.1.0.dev0-cp313-cp313-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 60d09a75d0da2cc45f1475dc8fb38f2ab07dec5cf6886b3ebfcd9b99ab13798d
MD5 f6d1a2b1a7d06a47dde347edb30a21c0
BLAKE2b-256 c37b8c05617aed390392fc76e35f10156d426cd843bcc5324ee8bf6a72e0b834

See more details on using hashes here.

Provenance

The following attestation bundles were made for mp4_py-2025.1.0.dev0-cp313-cp313-manylinux_2_39_aarch64.whl:

Publisher: wheel.yml on shiguredo/mp4-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mp4_py-2025.1.0.dev0-cp313-cp313-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for mp4_py-2025.1.0.dev0-cp313-cp313-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 58249c5dd5f3c36a6d48b17b8ff79def16afe66f2937e9a8f45c6fe73aa49bab
MD5 9cd43f67912602bd4c41671fabe28152
BLAKE2b-256 92d046f293072748d722d50b515d45c498d711447ecae14879b87c2c7a2f4320

See more details on using hashes here.

Provenance

The following attestation bundles were made for mp4_py-2025.1.0.dev0-cp313-cp313-manylinux_2_35_x86_64.whl:

Publisher: wheel.yml on shiguredo/mp4-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mp4_py-2025.1.0.dev0-cp313-cp313-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for mp4_py-2025.1.0.dev0-cp313-cp313-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 1be27f31799fc13cf2c94e8ee6dc66c6567a9f030003f0bff72015cee686e519
MD5 14b09826fdb7e424175ef9d4815e7022
BLAKE2b-256 16dab1183034191c6c7e5de4a5261814892392095b7a3beb2c6df6db07f6f70d

See more details on using hashes here.

Provenance

The following attestation bundles were made for mp4_py-2025.1.0.dev0-cp313-cp313-manylinux_2_35_aarch64.whl:

Publisher: wheel.yml on shiguredo/mp4-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mp4_py-2025.1.0.dev0-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for mp4_py-2025.1.0.dev0-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 94df46cf7002ca5d8c7b32a2fa1306635855cd8d5734cc52f12866efc5ded80f
MD5 c10906c81826029704ecf7290e42f5b0
BLAKE2b-256 12ee20625b881b6e229a5ae177ec5b549c6c83703d081ad355d308e180053dfd

See more details on using hashes here.

Provenance

The following attestation bundles were made for mp4_py-2025.1.0.dev0-cp313-cp313-macosx_15_0_arm64.whl:

Publisher: wheel.yml on shiguredo/mp4-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mp4_py-2025.1.0.dev0-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for mp4_py-2025.1.0.dev0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 97a4db1c83f6d4404dd4c0d9bcd521cadb98549a5bf11d8f11d07847cf32beb6
MD5 5425a16fca5a15a1919518094b468b67
BLAKE2b-256 5f6f46d92c7308c81698c4c7327fda37cc6eb7f819ff4baddd2b0142bc5c2caf

See more details on using hashes here.

Provenance

The following attestation bundles were made for mp4_py-2025.1.0.dev0-cp313-cp313-macosx_14_0_arm64.whl:

Publisher: wheel.yml on shiguredo/mp4-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mp4_py-2025.1.0.dev0-cp312-cp312-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for mp4_py-2025.1.0.dev0-cp312-cp312-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 dec58fcc0e4a72ae37f57af6e75efc8ccf6e2b4e6d5f57d3ac346b8423adae8d
MD5 9e01703e498fec2d50c32223855ea4e4
BLAKE2b-256 6d089dc858b482578275bf18847f9075e4a6cdf79070158eceea69601ab642a6

See more details on using hashes here.

Provenance

The following attestation bundles were made for mp4_py-2025.1.0.dev0-cp312-cp312-manylinux_2_39_x86_64.whl:

Publisher: wheel.yml on shiguredo/mp4-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mp4_py-2025.1.0.dev0-cp312-cp312-manylinux_2_39_aarch64.whl.

File metadata

File hashes

Hashes for mp4_py-2025.1.0.dev0-cp312-cp312-manylinux_2_39_aarch64.whl
Algorithm Hash digest
SHA256 d5c3efdaf573630d95a9e7353db53a85dff25e17e7069d376cf0f1ec9856e8d7
MD5 c9d7e1f9aa7a851ea6f31f811861d26c
BLAKE2b-256 ad89e121431a5f3ddc09357bee33071827a56dec8c50ab8ec4d6c4d4418d489e

See more details on using hashes here.

Provenance

The following attestation bundles were made for mp4_py-2025.1.0.dev0-cp312-cp312-manylinux_2_39_aarch64.whl:

Publisher: wheel.yml on shiguredo/mp4-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mp4_py-2025.1.0.dev0-cp312-cp312-manylinux_2_35_x86_64.whl.

File metadata

File hashes

Hashes for mp4_py-2025.1.0.dev0-cp312-cp312-manylinux_2_35_x86_64.whl
Algorithm Hash digest
SHA256 f5a025e7361fd28f2b3ee67d53226aa903bf9ad0f4e54624288597d57fa8a16f
MD5 29dd6babaedb226f7fd7ac1ef4c23a58
BLAKE2b-256 8af296f9fcff2d2ebd64f6e16f8bc1ee3c4b5ffb73fc04682e42893b9c83947a

See more details on using hashes here.

Provenance

The following attestation bundles were made for mp4_py-2025.1.0.dev0-cp312-cp312-manylinux_2_35_x86_64.whl:

Publisher: wheel.yml on shiguredo/mp4-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mp4_py-2025.1.0.dev0-cp312-cp312-manylinux_2_35_aarch64.whl.

File metadata

File hashes

Hashes for mp4_py-2025.1.0.dev0-cp312-cp312-manylinux_2_35_aarch64.whl
Algorithm Hash digest
SHA256 f4f6dc2c0cf21b178e53c80df4794c2ae9e602888ee77361404a407009f0bdfe
MD5 1f77ba1c41da15b4871a176df2b9d8b2
BLAKE2b-256 544d46bf582331f77dcb67fa1784b8ff90af2f6b5d8b202694258c76c245e34a

See more details on using hashes here.

Provenance

The following attestation bundles were made for mp4_py-2025.1.0.dev0-cp312-cp312-manylinux_2_35_aarch64.whl:

Publisher: wheel.yml on shiguredo/mp4-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mp4_py-2025.1.0.dev0-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for mp4_py-2025.1.0.dev0-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 450742fcf3284b7ecc5a40940b9abae5aea71159cdfb9c9c9a503ee71797417e
MD5 eb602178d35b9864fdb44d077aa32750
BLAKE2b-256 01031cb5fe48987fbe59531efdb392f3f3923003c78c01a1fb4e67ca8579925e

See more details on using hashes here.

Provenance

The following attestation bundles were made for mp4_py-2025.1.0.dev0-cp312-cp312-macosx_15_0_arm64.whl:

Publisher: wheel.yml on shiguredo/mp4-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mp4_py-2025.1.0.dev0-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for mp4_py-2025.1.0.dev0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 6a80fdf513c12cbd414c948ce4b74136278fbe207a423735c8b589832fbfabd8
MD5 9d3760f8af656d983b70217fa126f33a
BLAKE2b-256 8820f26eaa29cabe99deecc8b68a11242465a0bd93f809d98540a6ed70a97bb8

See more details on using hashes here.

Provenance

The following attestation bundles were made for mp4_py-2025.1.0.dev0-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: wheel.yml on shiguredo/mp4-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page