ホームページ  >  記事  >  バックエンド開発  >  Python ガジェット: 1 日のワークロードを 5 分で完了、とてもおいしい

Python ガジェット: 1 日のワークロードを 5 分で完了、とてもおいしい

王林
王林転載
2023-05-23 16:43:061466ブラウズ

Python ガジェット: 1 日のワークロードを 5 分で完了、とてもおいしい

はじめに

FFmpeg は、強力なオーディオおよびビデオ処理プログラムのセットであり、多くのオーディオおよびビデオ ソフトウェアの基礎です。実際、FFmpeg は、オーディオおよびビデオ ソフトウェアの業界標準となっています。オーディオとビデオの処理。ただし、コマンド ラインから FFmpeg を使用するには一定の学習コストがかかります。ffmpeg-python ライブラリはこの問題をうまく解決します。

pip を介して簡単にインストールした後、Python コードで ffmpeg を使用できるようになります。

pip3 install ffmpeg-python

ビデオ情報の取得

path = 'main.mp4'
probe = ffmpeg.probe(path)
video_stream = next((stream for stream in probe['streams'] if stream['codec_type'] == 'video'), None)
width = int(video_stream['width'])
height = int(video_stream['height'])
print(width, height)

ストリームを使用して、サイズ、長さ、フレーム レートなどのビデオの基本情報を取得できます。

ミラー処理

# 左右镜像
ffmpeg.input(path).hflip().output('output.mp4').run()
# 上下镜像
ffmpeg.input(path).vflip().output('output.mp4').run()

とは、単純に英語のhorizo​​ntal(水平)とvertical(垂直)の略と理解できます。

ウォーターマークを追加

main = ffmpeg.input(path)
logo = ffmpeg.input('logo.png')
ffmpeg.filter([main, logo], 'overlay', 0, 500).output('out.mp4').run()

このコマンドは、ロゴのウォーターマーク画像をメインビデオの上の座標 (0,500) に配置することを意味します。動画の左上隅は原点(0,0)の位置として把握でき、原点から右にx軸、下にy軸を表します。

もちろん、ロゴをビデオよりも十分に大きくし、両側の位置を変更すると、ロゴの上にビデオが表示されます。これは、実際には背景画像を追加するのと同じです。 。

ffmpeg.filter([logo, main], 'overlay', 0, 500).output('out.mp4').run()

ビデオ インターセプション

ffmpeg.input(path).trim(start_frame=10,end_frame=20).output('out3.mp4').run()

このコマンドは理解しやすそうです。start_frame と end_frame はそれぞれ開始フレームと終了フレームを表します。

ビデオの結合

base = ffmpeg.input(path)
ffmpeg.concat(
base.trim(start_frame=10, end_frame=20),
base.trim(start_frame=30, end_frame=40),
base.trim(start_frame=50, end_frame=60)
).output('out3.mp4').run()

ビデオの結合は、concat 関数を使用して実行できます。

概要

今日は、Python で動画を処理するための優れたライブラリを紹介します。これがあなたの仕事や副業の効率向上に貢献できれば幸いです。

以上がPython ガジェット: 1 日のワークロードを 5 分で完了、とてもおいしいの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。