我發現了關於使用mencoder和ffmpeg旋轉視頻的問題,但是我是在完全自動化的解決方案之後。用mencoder,handbrake cli或ffmpeg自動檢測旋轉和旋轉視頻
任何人都可以幫忙。
我想
- 檢測視頻取向
- 旋轉。如果需要
- 重置的視頻元數據(否則看一個iOS設備上會引起不必要的旋轉)
- 保存視頻以所需的格式
原因是希望在HTML5視頻播放器中使用已處理的視頻。如果我在不重置元數據的情況下旋轉,iOS設備將讀取元素並進一步旋轉,導致視頻以另外90度出現。
我發現了關於使用mencoder和ffmpeg旋轉視頻的問題,但是我是在完全自動化的解決方案之後。用mencoder,handbrake cli或ffmpeg自動檢測旋轉和旋轉視頻
任何人都可以幫忙。
我想
原因是希望在HTML5視頻播放器中使用已處理的視頻。如果我在不重置元數據的情況下旋轉,iOS設備將讀取元素並進一步旋轉,導致視頻以另外90度出現。
我使用了一個小腳本和HandBrakeCLI。
關注的 「--rotate」 參數與手剎1.0改變,這將與1.0.7工作:
for i in *.mp4
do
r=$(exiftool -Rotation $i | cut -d ":" -f2 | sed 's/^[ ]*//')
HandBrakeCLI -i $i -o ./out/$i --rotate=angle=$r -e x264 -q 21 -X 1000
done
安迪的回答一樣,這裏是一個PowerShell和手剎版本
$SourceVideoPath = "C:\Videos\"
$ListOfVideos = Get-ChildItem -path $SourceVideoPath -Filter *.mpg
ForEach ($InputFile in $ListOfVideos){
$rotationFromEXIF = 0
Write-Host "Now processing: $InputFile"
$InputFullName = $InputFile.Fullname
$OutputFullName = $InputFile.DirectoryName + "\output\" + $InputFile;
$rotationFromEXIF = ((& 'C:\Utilities\exiftool.exe' -rotation $InputFullName) -split ": ")[1]
if ($rotationFromEXIF -gt 0){Write-Host "Rotating $rotationFromEXIF degrees"}
(& 'C:\Program Files\HandBrake\HandBrakeCLI.exe' -i $InputFullName -o $OutputFullName --rotate=angle=$rotationFromEXIF)
}