![Maven Central Adds Sigstore Signature Validation](https://cdn.sanity.io/images/cgdhsj6q/production/7da3bc8a946cfb5df15d7fcf49767faedc72b483-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Maven Central Adds Sigstore Signature Validation
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
When I am dealing pics,mp3,mp4. I always want a media utils to help me work, that's why this project start
pip install easy-media-utils
git clone https://github.com/aceliuchanghong/easy-media-utils.git
conda create -n dealMedia python=3.11
conda activate dealMedia
pip install -r requirements.txt
前往官网,下载对应版本的文件,解压放在本地文件并且配置环境变量,确保可以访问到
ffmpeg -version
path = r'D:\aprojectPython\pythonProject\easy-media-utils'
print_tree(path)
easy-media-utils/
|
├── LICENSE
├── README.md
├── requirements.txt
├── setup.py
├── base_model/
│ ├── MediaHandler.py
│ └── __init__.py
├── image_utils/
│ ├── __init__.py
│ ├── gpt_prompt.md
│ ├── converters/
│ │ ├── __init__.py
│ │ ├── format_converter.py
│ │ ├── image_to_text.py
│ │ └── text_add_to_image.py
│ ├── core/
│ │ ├── __init__.py
│ │ ├── exceptions.py
│ │ └── image_handler.py
│ ├── editors/
│ │ ├── __init__.py
│ │ ├── cropper.py
│ │ └── resizer.py
│ ├── tests/
│ │ ├── __init__.py
│ │ ├── test_converters.py
│ │ ├── test_editors.py
│ │ └── test_utils.py
│ └── utils/
│ ├── __init__.py
│ └── image_utils.py
├── mp3_utils/
│ ├── __init__.py
│ ├── gpt_prompt.md
│ ├── converters/
│ │ ├── __init__.py
│ │ ├── audio_format_converter.py
│ │ └── mp3_to_text.py
│ ├── core/
│ │ ├── __init__.py
│ │ ├── exceptions.py
│ │ └── mp3_handler.py
│ ├── editors/
│ │ ├── __init__.py
│ │ ├── effects.py
│ │ └── trimmer.py
│ ├── tests/
│ │ ├── __init__.py
│ │ ├── test_converters.py
│ │ └── test_editors.py
│ └── utils/
│ ├── __init__.py
│ └── mp3_utils.py
├── mp4_utils/
│ ├── __init__.py
│ ├── gpt_prompt.md
│ ├── converters/
│ │ ├── __init__.py
│ │ ├── mp4_to_gif.py
│ │ ├── mp4_to_mp3.py
│ │ ├── mp4_to_pngs.py
│ │ └── tv_to_mp4.py
│ ├── core/
│ │ ├── __init__.py
│ │ ├── exceptions.py
│ │ └── mp4_handler.py
│ ├── editors/
│ │ ├── __init__.py
│ │ ├── orientation.py
│ │ └── resizer.py
│ ├── tests/
│ │ ├── __init__.py
│ │ ├── test_converters.py
│ │ └── test_editors.py
│ └── utils/
│ ├── __init__.py
│ ├── file_utils.py
│ └── mp4_utils.py
├── testfiles/
└── tree_utils/
├── __init__.py
└── struct_tree_out.py
from mp4_utils.converters.mp4_to_gif import MP4ToGIFConverter
from mp4_utils.converters.mp4_to_mp3 import MP4ToMP3Converter
from mp4_utils.converters.mp4_to_pngs import MP4ToPNGsConverter
from mp4_utils.converters.tv_to_mp4 import TVToMP4Converter
from mp4_utils.core.mp4_handler import MP4Handler
def main(converter_type, file_path='../../testfiles/onboard_cover.mp4') -> MP4Handler:
"""
Convert MP4 each frame.
:param converter_type:
:param file_path:
"""
Converter = {
"gif": MP4ToGIFConverter,
"mp3": MP4ToMP3Converter,
"img": MP4ToPNGsConverter,
"other": TVToMP4Converter,
}
# converter = Converter[converter_type](file_path)
converter = Converter.get(converter_type)(file_path)
return converter
if __name__ == "__main__":
file_path = '../../testfiles/out/onboard_cover.mp4'
gif_out_path = '../../testfiles/out/output.gif'
mp3_out_path = '../../testfiles/out/output.mp3'
pngs_out_path = '../../testfiles/out/pngs_output'
mp4_out_path = '../../testfiles/out/Sample.mp4'
conv_file = '../../testfiles/out/Sample.mkv'
converter_type = "img"
ans_path = pngs_out_path
converter = main(converter_type, file_path)
converter.process(ans_path)
from mp3_utils.converters.audio_format_converter import AudioFormatConverter
from mp3_utils.core.mp3_handler import MP3Handler
def main(converter_type, file_path='../../testfiles/out/output.mp3') -> MP3Handler:
"""
Convert MP4 each frame.
:param converter_type:
:param file_path:
"""
Converter = {
"format": AudioFormatConverter,
}
converter = Converter.get(converter_type)(file_path)
return converter
if __name__ == "__main__":
mp3_path = '../../testfiles/out/output.mp3'
wav_path = '../../testfiles/out/output.wav'
flac_path = '../../testfiles/out/output.flac'
converter_type = "format"
ans_path = flac_path
converter = main(converter_type, wav_path)
converter.process(ans_path, 'flac')
from image_utils.converters.format_converter import FormatConverter
test_image_path = "../../testfiles/out/pngs_output/frame_0001.png"
output_path = "../../testfiles/out/imgs_output"
txt = "你好"
if __name__ == '__main__':
converter = FormatConverter(test_image_path)
converter.process(output_path, "png")
FAQs
A collection of Python utilities for handling media files.
We found that easy-media-utils demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.