【发布时间】:2015-12-10 15:58:51
【问题描述】:
我想知道是否有可能只显示视频流的片段。假设我们有一个 1920x1024 的视频,我只想显示一个从 0,0 到 600,400 的矩形。 我能做到这一点吗?什么样的图书馆可以做到这一点?我试图在 VLC 中找到一些东西,但我没有找到任何东西。
类似的东西: https://www.youtube.com/watch?v=8nNoUDH2k3Y
谢谢
【问题讨论】:
我想知道是否有可能只显示视频流的片段。假设我们有一个 1920x1024 的视频,我只想显示一个从 0,0 到 600,400 的矩形。 我能做到这一点吗?什么样的图书馆可以做到这一点?我试图在 VLC 中找到一些东西,但我没有找到任何东西。
类似的东西: https://www.youtube.com/watch?v=8nNoUDH2k3Y
谢谢
【问题讨论】:
是的,您应该能够实现这一点,但是我不太确定您是否可以实现与您链接到的视频中显示的完全相同的动态裁剪效果。
对于 VLC,crop 是您正在寻找的。 wiki 非常小,但它应该可以帮助您入门。否则请查看命令行帮助 (vlc -H) 并查找裁剪和填充参数。
通过名为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}
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。
也许这会引导您走向正确的方向。这当然取决于您的设置。您是在编写脚本并重新转码视频流,还是尝试将库集成到您的代码中。
【讨论】: