ste*_*des 68 debian ffmpeg rotation video-encoding avconv
我正在寻找一种方法来旋转我的Debian Wheezy系统上使用Nexus 4拍摄的视频.视频以纵向模式拍摄,我想将它们旋转到横向模式.优选地,旋转是命令行驱动的.
我发现以前的几个问题暗示了一个很好的解决方案,但我似乎无法让它运作起来.
首先是这个问题: 使用FFmpeg旋转视频
但它表明ffmpeg已经过时,我应该使用avconv.我发现这个问题详细说明了前进的方向. https://askubuntu.com/questions/269429/how-can-i-rotate-video-by-180-degrees-with-avconv
这让我使用以下命令:
avconv -i original.mp4 -vf "transpose=1" -codec:v libx264 -preset slow -crf 25 -codec:a copy flipped.mp4
然而,这是非常缓慢的(上次测试花了我超过6小时不到3分钟的镜头)并且不会导致可播放的电影.我也在记录输出时出现错误,该错误表明Mb Rate> level limit.
这里有重新编码的问题吗?在应用轮换之前,我是否应首先将视频从手机重新编码为另一种,更"可行"的编码?或者我错过了另一个重点?
小智 100
如果您只是想更改元数据,以便考虑该标志的媒体播放器播放文件,请尝试以下操作:
ffmpeg -i input.mp4 -c copy -metadata:s:v:0 rotate=90 output.mp4
小智 46
Rotation = 0解决了我的问题.我开始以纵向模式录制视频,意识到我的错误并立即将手机转为横向以继续录制.我的iphone已将视频标记为整个视频的肖像.
ffmpeg -i input.mp4 -c copy -metadata:s:v:0 rotate=0 output.mp4
固定它.
aXe*_*-HH 22
FFmpeg和类似的程序甚至使用选项更改元数据-map_metadata.exiftool可以读取旋转矩阵和旋转标志,但不能写它.
为了获得真正的无损(包括元数据)旋转,我找不到解决方案,所以我抓住了一个十六进制编辑器(例如HxD)并分析了旋转的视频文件.
vide以查找视频轨道的元数据trak...\tkhd@标志(HEX 40)没有轮换:
00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40
180°:
FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40
90°cw:
00 00 00 00 00 01 00 00 00 00 00 00 FF FF 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
40 
90°ccw:
00 00 00 00 FF FF 00 00 00 00 00 00 00 01 00 00 
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
40
根据需要更改文件,并且应该在支持旋转标记的玩家中旋转(大多数当前玩家都可以).
如果您的视频包含立体声音频,显然不会切换,因此如果您希望声音与视频旋转(180°)匹配,则需要切换左右声道.
| 归档时间: | 
 | 
| 查看次数: | 65552 次 | 
| 最近记录: |