我有外部程序,如ffmpeg和gstreamer在后台运行并写入日志文件.我想用Flask应用程序显示此日志的内容,以便用户可以像tail -f job.log在终端中一样查看日志更新.
我试图用来<object data="/out.log" type="text/plain">指向日志文件,但是无法显示数据,或者浏览器告诉我我需要一个插件.
如何在HTML页面中嵌入和更新日志文件?
我有一个简单的shell脚本,只检查目录的内容,如果在白天添加任何内容,则将其复制到备份文件夹.我想在每天结束时执行这个脚本(让我们假设在23:55).
此脚本驻留在其上的系统(Debian)始终打开(服务器类型)
我怎样才能做到这一点?
我在ubuntu中为gstreamer应用程序(管道)编写了一个脚本,通过网络摄像头和一个帧抓取器捕获2个视频流并将它们放入一个容器中:
gst-launch -e mpegtsmux name="muxer" ! filesink location=TestHDMainCamera.ts \
v4l2src device="/dev/video1" ! video/x-raw-yuv, width=1280 ,height=720, \
framerate=30/1 ! videorate ! ffmpegcolorspace ! x264enc ! muxer. \
v4l2src device="/dev/video0" ! video/x-raw-yuv, width=1024 ,height=768, \
framerate=30/1 ! x264enc ! muxer. pulsesrc \
device="alsa_input.usb-046d_Logitech_Webcam_C930e_AAF8A63E-02-C930e.analog-stereo" \
! audioconvert ! lamemp3enc target=1 cbr=true ! muxer.
Run Code Online (Sandbox Code Playgroud)
我只是将它放入.sh文件并通过终端执行.为了让生活更轻松我写了一个简单的PHP代码来创建一个简单的(!)网站界面(在本地主机上运行)来控制捕获过程(开始:运行.sh文件并停止:Ctrl + c)
包括两个额外的按钮,分别测试来自帧抓取器和网络摄像头的流,看看它们是否连接:
网络摄像头测试预览:
gst-launch v4l2src device=/dev/video1 ! ffmpegcolorspace ! xvimagesink
Run Code Online (Sandbox Code Playgroud)
FrameGrabber的测试预览:
gst-launch v4l2src device=/dev/video0 ! ffmpegcolorspace ! xvimagesink
Run Code Online (Sandbox Code Playgroud)
这是一个问题:
每次我加载页面,然后按开始按钮,似乎php执行.sh管道并立即终止它(我在屏幕上显示此消息:释放管道...)因此我得不到捕获的流(!)甚至如果我尝试使用测试按钮只是有一个直播结果是相同的...
你可以帮助我告诉我如何使用这个PHP代码运行gstreamer捕获的管道代码?(仅当我按下"停止"按钮时才需要终止gstreamer管道,该按钮应该执行Ctrl + c功能)
更多信息:
这是接口的main.php代码(它有点乱,抱歉):
<html>
<head>
<title>PHP …Run Code Online (Sandbox Code Playgroud) 我使用下面的 gnuplot 上的配置来绘制折线图:
set style data histogram
set ylabel "Number of Received Packets"
set format y '%.0s %c' #This is also another question I refer to at p.s, below
set style data linespoints
colorfunc(x) = x == 1 ? "#3399FF" : x == 2 ? "#00FF00" : x == 3 ? "#FF3333" : x == 4 ? "#00FFFF" : x == 5 ? "#003300" : "#FF00FF"
plot for [COL=2:6] 'Histogram' using COL:xticlabels(1) title columnheader lt rgb colorfunc(COL)
Run Code Online (Sandbox Code Playgroud)
结果是这样的:
可以看到,y轴的标签和各轴上的值太小,不易读取。我怎样才能改变它们的大小并使它们加粗(或在最终图中调整它们的大小)?
ps:我还用来 …
我正在使用flask作为我的UI的网络服务器(它是一个简单的网络界面,可以在gstreamer网络摄像头上使用ubuntu 控制录制,同时使用framegrabber /有点简单的播放器)
每次我需要运行"python main.py"命令手动从命令提示符运行服务器.
我已经尝试过init.d解决方案,甚至编写一个简单的shell脚本并在启动后重新启动系统时每次启动它但是它无法使服务器保持运行直到结束(只是调用服务器并终止它我猜)
是否有任何解决方案可以帮助我每次在启动时启动系统并启动并运行后启动Web服务器?
我想将我的系统配置为直接启动到浏览器中,因此不希望用户需要更多操作.
任何建议/帮助表示赞赏.