Emi*_*ano 6 rendering ffmpeg resolution video-capture
快问,我有一部电影,它是用Sony Vegas从原始格式剪切和渲染到.wmv文件.这是一个棘手的部分,电影播放时,或者,VLC或者WMP,分辨率为656x480 ......但是当我在它上面运行一个ffmpeg -i时,它说它的分辨率为600x480....
我花了一些时间实际捕捉一个框架并用photoshop和它裁剪它,656而不是600像报道那样,为什么会发生这种情况?我怎么能修复标题分辨率?这会对视频重新渲染产生什么影响吗?正如我所说,VLC和WMP似乎不关心不正确的标题并正在播放它,但是,jwplayer似乎正在使用标题信息,我不怪他,这是正确的,但为什么视频标题可能是错的?
ffmpeg -i trailer.wmv
Run Code Online (Sandbox Code Playgroud)
Input #0, asf, from 'trailer.wmv': Duration: 00:01:04.93, start: 3.000000, bitrate: 2144 kb/s Stream #0.0: Audio: wmav2, 44100 Hz, mono, 32 kb/s Stream #0.1: Video: wmv3, yuv420p, 600x480 [PAR 59:54 DAR 295:216], 2065 kb/ s, 25.00 tb(r)
是的,PAR/DAR参数也是错误的,但老实说,我不明白技术粪便,通常观看视频,并确保它看起来不错,任何反馈将不胜感激:P
有没有办法用ffmpeg更改容器信息,以便实际使用容器信息的应用程序不会错误地呈现视频?
FFMPEG 100%正确,技术性的东西很重要:D
您的PAR(像素长宽比)和DAR(显示宽高比)实际上是正确的,您通过捕获屏幕截图和测量来证明它.
让你失望的是PAR.并非所有像素都是正方形!IE:1:1,虽然大多数下载的视频都是如此,你可能从未注意到.诸如VLC之类的一些玩家将识别PAR值并相应地拉伸视频以满足DAR.DVD视频就是一个很好的例子.
另见:http://en.wikipedia.org/wiki/Pixel_aspect_ratio
所以ffmpeg说你的视频宽度是600.乘以PAR,你会得到"真正的"宽度.意思是像素是正方形而不是矩形(水平).600*(59/54)= 656(圆形)数字看起来很熟悉?
现在采用"真实"尺寸:656/480 = 1.366并查看你的DAR:295/216 = 1.366
魔法!
正如您所发现的,并非所有视频播放器都足够智能识别PAR并执行适当的拉伸.您可以使用setf和scale视频过滤器轻松地使用ffmpeg将其更改为1:1.
ffmpeg ......东西...... -vf"scale = 656:480,setsar = 1:1"......更多东西......
对于好奇的人来说,它被称为setsar,因为它也被称为Sample(aka Pixel)纵横比:http://ffmpeg.org/ffmpeg.html#setsar-1
希望这有帮助,我敢肯定它一开始会让很多人(包括我自己)感到困惑.
| 归档时间: |
|
| 查看次数: |
2406 次 |
| 最近记录: |