| | |
| | | |
| | | import cn.afterturn.easypoi.excel.ExcelExportUtil; |
| | | import cn.afterturn.easypoi.excel.entity.ExportParams; |
| | | import cn.hutool.core.io.FileUtil; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.core.web.page.PageInfo; |
| | | import com.ruoyi.dataInterchange.api.feignClient.PlaybackMsgClient; |
| | |
| | | import com.ruoyi.system.service.IDriverService; |
| | | import com.ruoyi.system.service.IEnterpriseService; |
| | | import com.ruoyi.system.service.IOrderService; |
| | | import com.ruoyi.system.util.JavaCVStreamUtil; |
| | | import io.swagger.annotations.ApiImplicitParam; |
| | | import io.swagger.annotations.ApiImplicitParams; |
| | | import io.swagger.annotations.ApiOperation; |
| | |
| | | import javax.annotation.Resource; |
| | | import javax.servlet.ServletOutputStream; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.File; |
| | | import java.io.IOException; |
| | | import java.net.URLEncoder; |
| | | import java.time.LocalDateTime; |
| | | import java.time.ZoneOffset; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.List; |
| | | import java.util.concurrent.ExecutorService; |
| | | import java.util.concurrent.LinkedBlockingQueue; |
| | | import java.util.concurrent.ThreadPoolExecutor; |
| | | import java.util.concurrent.TimeUnit; |
| | | |
| | | /** |
| | |
| | | } |
| | | |
| | | |
| | | public void live_hls(String input, Car car){ |
| | | String path = hlsOutputPath + "hls\\" + car.getVehicleNumber() + "\\live.m3u8"; |
| | | String folderPath = hlsOutputPath + "hls\\" + car.getVehicleNumber(); |
| | | FileUtil.mkParentDirs(path); |
| | | File file = new File(path); |
| | | if (!file.exists()) { |
| | | try { |
| | | file.createNewFile(); |
| | | } catch (IOException e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | } |
| | | |
| | | //执行拉流和推流 |
| | | ExecutorService executorService = new ThreadPoolExecutor(1, 1, |
| | | 0L, TimeUnit.MILLISECONDS, |
| | | new LinkedBlockingQueue<Runnable>()); |
| | | executorService.execute(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | JavaCVStreamUtil.push_hls(input, path, car.getId(), folderPath); |
| | | } |
| | | }); |
| | | carService.taskPlayDetection(car.getId()); |
| | | } |
| | | |
| | | public void live_flv(String input, Integer id){ |
| | | String url = "rtmp://" + flvIp + ":" + flvRtmpPort + "/flv/" + id; |
| | | //执行拉流和推流 |
| | | ExecutorService executorService = new ThreadPoolExecutor(1, 1, |
| | | 0L, TimeUnit.MILLISECONDS, |
| | | new LinkedBlockingQueue<Runnable>()); |
| | | executorService.execute(new Runnable() { |
| | | @Override |
| | | public void run() { |
| | | JavaCVStreamUtil.push_flv(input, url, id); |
| | | } |
| | | }); |
| | | carService.taskPlayDetection(id); |
| | | } |
| | | } |