我想知道是否有可能只显示视频流的片段。假设我们有一个视频1920x1024,我只想显示一个从0,0到600400的矩形。我能做到这一点吗?什么样的图书馆可以做到这一点?我试图在VLC中找到一些东西,但什么也没找到。
类似于此:https://www.youtube.com/watch?v=8nNoUDH2k3Y
感谢
你应该能够实现这一点,是的,但我不太确定你是否能实现与你链接的视频中显示的完全相同的动态裁剪效果。
对于VLC,作物是您想要的。维基是相当小的,但它应该让你开始。否则,请查看命令行帮助(vlc-H)并查找crop和padd参数。
例如,在您的情况下,0,0 600400将通过名为croppadd的视频过滤器或vout过滤器作物(取决于您的VLC版本和平台)实现
vlc $video_input --sout='#transcode{vcodec=XXX,vb=XXX,fps=XX.X,width=1920,height=1024,vfilter=croppadd{croptop=0,cropbottom=624,cropleft=0,cropright=1320}}:standard{access=XXX,mux=XX,dst=XXX.XXX.XXX.XXX}'
vfilter
vfilter=croppadd{croptop=0,cropbottom=624,cropleft=0,cropright=1320}
另一种使用方法,如wiki 中所述
vlc $video_input --video-filter=croppadd --croppadd-croptop=0 --croppadd-cropbottom=624 --croppadd-cropleft=0 --croppadd-cropright=1320
对于库VLC,它将是libvlc和相应的libvlc视频控件get和set_crop_geometry-请参阅SDK的此链接。
也许这会引导你朝着正确的方向前进。这当然取决于你的设置。你是在编写视频流的脚本和重新编译,还是试图将库集成到代码中。