如何使用 gstreamer 将网络摄像头视频保存到文件?

sav*_*sav 1 c opencv avi gstreamer x264

我一直在尝试让 emgu 将相同的网络摄像头视频保存到文件中

问题是opencv只支持avi,avi好像不太适合X264这样的格式。

我可以使用 Gstreamer 在 C 中为我做这件事吗?

如果我也可以选择文件格式和容器类型就好了。如果我能使用像薛定谔狄拉克这样的格式就好了。

我是 GStreamer 的新手,所以我不太确定我在这里是否走在正确的轨道上。

编辑

我已经设法使用捕获网络摄像头视频

gst-launch-0.10 ksvideosrc !自动视频接收器

现在如何将其转码为 H264 或 dirac 等格式?

编辑

gst-launch-0.10 ksvideosrc num-buffers=10 !解码器2!ffmpeg 色彩空间!x264enc!matroskamux !文件接收器位置=video.mkv

这似乎创建了一个文件,但 VLC 播放器无法读取它。

小智 6

该管道从网络摄像头捕获视频,将其编码为 h264,最后使用 flv 容器将其存储在任何指定位置。

gst-launch-1.0 v4l2src ! videoconvert ! x264enc ! flvmux ! filesink location=xyz.flv
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助

  • 如果使用 `ctrl+c` 结束捕获,则应在末尾添加 `-e`。另外,你能解释一下如何改变帧率和分辨率吗? (2认同)