我已经安装了 ffmpeg 和 mjpeg-streamer。后者从 /tmp/stream 读取 .jpg 文件并通过 http 将其输出到网站上,因此我可以通过网络浏览器流式传输该文件夹中的任何内容。
我编写了一个 bash 脚本,它不断地从网络摄像头捕获帧并将其放入/tmp/stream:
while true
do
ffmpeg -f video4linux2 -i /dev/v4l/by-id/usb-Microsoft_Microsoft_LifeCam_VX-5000-video-index0 -vframes 1 /tmp/stream/pic.jpg
done
Run Code Online (Sandbox Code Playgroud)
这很好用,但速度很慢(~1 fps)。为了加快速度,我想使用一个单独的 ffmpeg 命令,它会不断更新 .jpg,假设为 10 fps。我尝试的是以下内容:
ffmpeg -f video4linux2 -r 10 -i /dev/v4l/by-id/usb-Microsoft_Microsoft_LifeCam_VX-5000-video-index0 /tmp/stream/pic.jpg
Run Code Online (Sandbox Code Playgroud)
然而,这 - 可以理解 - 导致错误消息:
[image2 @ 0x1f6c0c0] Could not get frame filename number 2 from pattern '/tmp/stream/pic.jpg'
av_interleaved_write_frame(): Input/output error
Run Code Online (Sandbox Code Playgroud)
...因为输出模式对连续的图像流不利。
是否可以使用 ffmpeg 流式传输到一张 jpg?
谢谢...
我正在尝试使用gdcm的CompositeNetworkFunctions从服务器获取DICOMS 。我的测试服务器是使用“ Orthanc”设置的。
当我运行Move请求时,我得到:
terminate called after throwing an instance of 'gdcm::Exception'
Run Code Online (Sandbox Code Playgroud)
what():/home/myname/Builds/GDCM/Source/Source/Common/gdcmException.h:74():
当我捕获到该异常时,我发现它是“未处理的异常”,没有更多信息。因此,我没有抓住它,而是使用gdb运行该程序。这是我得到的:
0x00007ffff3e4dcc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
56 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 0x00007ffff3e4dcc9 in __GI_raise (sig=sig@entry=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007ffff3e510d8 in __GI_abort () at abort.c:89
#2 0x00007ffff44526b5 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3 0x00007ffff4450836 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x00007ffff4450863 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5 0x00007ffff4450aa2 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x0000000000781772 in std::istream& gdcm::DataSet::ReadWithLength<gdcm::ExplicitDataElement, gdcm::SwapperNoOp>(std::istream&, gdcm::VL&) …Run Code Online (Sandbox Code Playgroud)