我想知道是否有可能只显示视频流的片段。假设我们有一个1920x1024的视频,我想只显示从0到600,400的矩形。 我能做到吗?什么样的图书馆可以做到这一点?我试图在VLC中找到一些东西,但我没有找到任何东西。
类似的东西: https://www.youtube.com/watch?v=8nNoUDH2k3Y
由于
答案 0 :(得分:0)
你应该能够做到这一点,但是我不太确定你能否达到你所链接的视频中显示的完全相同的动态裁剪效果。
对于VLC,术语 裁剪 是您正在寻找的。 wiki非常小,但它应该让你开始。否则,请查看命令行帮助(vlc -H)并查找crop和padd参数。
通过名为croppadd的视频过滤器或vout过滤器裁剪(取决于您的VLC版本和平台),可以实现例如0,0 600,400的示例裁剪
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}
另一种使用它的方法,如维基中所述
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的此链接。
也许这会引导您朝着正确的方向前进。这当然取决于你的设置。您是编写脚本并重新编码视频流还是尝试将库集成到代码中。