我安装的ZM是视频分支。我按照这些说明安装它。 https://github.com/ZoneMinder/ZoneMinder/tree/video https://github.com/ZoneMinder/ZoneMinder/issues/452
我正在寻找水印我的录音。我已成功实现了我对常规ZM的要求。我只需要在ZM的MP4分支版本上使用它。我使用ASR搜索“ffmpeg”和“mp4”,但我只在zmvideo.pl中找到了与视频创建相关的任何内容......但我认为zmvideo.pl仅用于从JPEG文件生成视频。我只是想在创建时在mp4文件上显示水印。
因此,经过长时间的解释后,简而言之:我应该在哪里寻找在ZM中创建MP4文件的命令?或者我必须将它们添加到jpeg框架某处或某事物?抱歉的是,我已经花了至少3个小时来寻找这个,而且我实际上是因为沮丧而汗流。背。任何帮助都将不胜感激:)提前致谢。
答案 0 :(得分:1)
用户Shinobi而不是zoneminder。内置它。http://shinobi.video
不确定我为什么被投票。无论哪种方式,我都解决了我的问题而没有直接编辑创建脚本。它水印,将视频转换为webm并删除MP4。我已经测试了一段时间了,在WebM中,似乎200mb mp4文件将降至22mb或更低,质量相同。这是我每小时在cron上运行的PHP Shell脚本。
<?php
echo'Watermarking and Converting to WEBM. Storage Preservation Addon.'."\n";
require 'zcon.php';
//VIDEO WATERMARK
$nSql = "select M.*,M.Name As MName,E.* from Monitors as M inner join Events as E on (M.Id = E.MonitorId) where";
$nSql .= " E.DefaultVideo LIKE '%.mp4' AND E.Name != '%New Event%'";
$nResult = $conn->query($nSql);
if ($nResult->num_rows > 0) {
while($n = $nResult->fetch_assoc()) {
shell_exec("avconv -i ".getEventDefaultVideoPath($n)." -qscale 0 -vf 'movie=/usr/share/zoneminder/images/watermark.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:main_h-overlay_h-10 [out]' ".goEventToDir($n).$n['Id']."-video.webm && rm -rf ".getEventDefaultVideoPath($n));
$msql = "UPDATE Events SET DefaultVideo='".$n['Id']."-video.webm' where Id = '".$n['Id']."'";
if ($conn->query($msql) === TRUE) {echo getEventDefaultVideoPath($n)." --> ".goEventToDir($n).$n['Id']."-video.webm"."\n";}
}
}else{echo 'No MP4 found'."\n";}
$conn->close();
?>