.bat でビデオの幅と高さを調整する方法 (水平および垂直ビデオ処理)

以前に開発された要件の 1 つは、他の人がいくつかのビデオを提供し、それを横画面の Android デバイスで再生することですが、デフォルトのプレーヤーと Exoplayer が再生すると、縦画面のビデオが自動的に横方向に引き伸ばされ、通常の表示に影響します。

 

処理方法: 1. 通常再生できる別のプレーヤーを選択します; 2. 縦型ビデオを処理します; 3. オンラインでビデオを処理する方法を見つけます

最初の方法では開発が必要であり、適切なビデオ再生フレームワークを選択してコードを組み込むのは面倒です。

2 番目の方法は、ビデオを処理してビデオの幅と高さを調整することです。たとえば、元の幅と高さを 360:640 から 1280:800 に変更します。

3 番目の方法は、インターネットまたはいくつかの小さなプログラムを変換できますが、すべて有料です。

 

私は 2 番目の方法を使用します。ビデオ処理は ffmpeg に設計する必要があります。この機能は .bat ファイルを通じて実現することもでき、バッチ処理も可能です。

        ビデオとオーディオの処理は、通常 ffmpeg テクノロジーを使用して処理できます。

        ffmpeg関連情報については、 ffmpeg 共通コマンド_Da Yuge_ のブログ-CSDN ブログを参照してください。

.bat スクリプトの内容は次のとおりです。

@echo off
setlocal enabledelayedexpansion

rem video 是你要调整的视频的文件名
set /p video=请输入文件名(如 a.mp4):

rem wvh 原视频的宽:高
set wvh=368:640

rem 设置你想设置的视频的宽度,默认是1280
set orweight=1280

rem 设置你想设置的视频的高度,默认是800
set orheight=800

rem weight 原视频的宽
set /p weight=请输入原视频的宽:

rem height 原视频的高
set /p height=请输入原视频的高:

rem 新视频的名字
set outvideo=%video%-newmp4.mp4

set /a x1=(%orweight%-%weight%)/2
set /a y1=(%orheight%-%height%)/2

echo --------------------------------------------------
echo %video%
echo %wvh%
echo %outvideo%
echo %x1%   %y1%

rem 640*400 为视频的视频率,可自行修改,注意视频的大小

rem ffmpeg -i %video% -s 640*400 -aspect %wvh% -y %outvideo%

rem ffmpeg -i %video% -vf "transpose=2" -y %outvideo%

rem ffmpeg -i %video% -vf drawbox=x=0:y=0:w=100:h=640:c=yellow:t=10 -y %outvideo%

rem 1280*800  默认调整视频分辨率为1280*800,可自行调整
ffmpeg -i %video% -vf pad=%orweight%:%orheight%:%x1%:%y1%:black -y %outvideo%

pause

このようにして、縦画面ビデオの変換は完全に解決されます。

実際には、主な原理は、水平方向に黒枠を追加し、水平方向のビデオのように再生することです。これはトリッキーな方法です。生成されたビデオは、実際には 3 番目の方法で取得したビデオと似ています。

おすすめ

転載: blog.csdn.net/gqg_guan/article/details/132075949