package helper; import com.yanzuoguang.media.*; import com.yanzuoguang.util.MediaHelper; import com.yanzuoguang.util.YzgError; import com.yanzuoguang.util.thread.ThreadHelper; import org.junit.Test; import java.io.File; public class MediaFirstTest { private String getFile(String file) { // 注意,路径应为文件在工程中的相对路径 File f = new File("src/test/java/helper/" + file); if (!f.exists()) { System.out.println(f.getAbsoluteFile()); throw YzgError.getRuntimeException("005"); } return f.getAbsolutePath(); } private String getTargetFile(String file) { // 注意,路径应为文件在工程中的相对路径 File f = new File(file); return f.getAbsolutePath(); } @Test public void test() { MediaFirst first = new MediaFirst(null); MediaReqVo req = new MediaReqVo(); req.setUrl("http://rtmp.tourbida.com/hls/f4c1444c-1b31-4de8-9bd9-7ff6a231e262.m3u8"); req.setImageUrl(getTargetFile("target/xxx.jpg")); req.setCount(100); req.setSplit(1000); for (int i = 0; i < 1000; i++) { MediaResVo start = first.start(req); ThreadHelper.sleep(50 * 1000); } // 等待视频处理结束 while (!first.isFinish(req)) { ThreadHelper.sleep(100); } } @Test public void testHlsDown() throws Exception { String targetFile = getTargetFile("target/downHls.mp4"); HlsDownloader downloader = new HlsDownloader("http://rtmp.tourbida.com/hls/0bfbec86-7a75-4b70-9318-dd32a3d59633.m3u8", targetFile, 1, 1 ); downloader.download(false, true); // 获取视频第一帧 MediaHelper.getVideoFirstImage(targetFile, targetFile + ".jpg"); } }