1 package user.jobengine.server.steps;
\r
3 import java.nio.file.Path;
\r
4 import java.nio.file.Paths;
\r
6 import org.apache.logging.log4j.LogManager;
\r
7 import org.apache.logging.log4j.Logger;
\r
8 import org.apache.logging.log4j.Marker;
\r
9 import org.apache.logging.log4j.MarkerManager;
\r
11 import user.commons.StoreUri;
\r
12 import user.commons.mediaarea.MediaArea;
\r
14 public class FILEZILLA_PASARESTORETransferToStep extends TransferStep {
\r
15 private static final Logger logger = LogManager.getLogger();
\r
16 private static final String CODEC_PROFILE_HIGH = "HIGH";
\r
17 private static final String CODEC_PROFILE_MAIN = "MAIN";
\r
18 private static final String CODEC_PROFILE_422 = "4:2:2";
\r
19 private static final String DISPLAY_ASPECT_16_9 = "16:9";
\r
20 private static final String DISPLAY_ASPECT_4_3 = "4:3";
\r
21 private StoreUri sourceStoreUri;
\r
22 private String sourceFileName;
\r
26 public Object[] execute(StoreUri sourceStoreUri, String sourceFileName, StoreUri targetStoreUri, String targetFileName) throws Exception {
\r
27 this.sourceStoreUri = sourceStoreUri;
\r
28 this.sourceFileName = sourceFileName;
\r
30 Object[] result = super.execute(sourceStoreUri, sourceFileName, targetStoreUri, targetFileName);
\r
34 private boolean isHD(MediaArea mi) {
\r
35 return mi.getHeight() == 1080;
\r
38 private boolean isSD_HIGH_16_9(MediaArea mi) {
\r
39 String formatProfileName = mi.getFormatProfileName();
\r
40 return mi.getHeight() < 650 && formatProfileName.contains(CODEC_PROFILE_HIGH) && DISPLAY_ASPECT_16_9.equals(mi.getDisplayAspect());
\r
43 private boolean isSD_HIGH_4_3(MediaArea mi) {
\r
44 String formatProfileName = mi.getFormatProfileName();
\r
45 return mi.getHeight() < 650 && formatProfileName.contains(CODEC_PROFILE_HIGH) && DISPLAY_ASPECT_4_3.equals(mi.getDisplayAspect());
\r
48 private boolean isSD_MAIN_422(MediaArea mi) {
\r
49 String formatProfileName = mi.getFormatProfileName();
\r
50 return mi.getHeight() < 650 && (formatProfileName.contains(CODEC_PROFILE_MAIN) || formatProfileName.contains(CODEC_PROFILE_422));
\r
53 protected void logMediaProfile() {
\r
54 Marker marker = MarkerManager.getMarker("MEDIAPROFILE");
\r
56 Path filePath = Paths.get(sourceStoreUri.toString(true), sourceFileName);
\r
57 MediaArea mi = new MediaArea(filePath);
\r
59 logger.info(marker, "{} data : {} {} {}", sourceFileName, mi.getFormatProfileName(), mi.getHeight(), mi.getDisplayAspect());
\r
62 logger.info(marker, "{} is MOVED_HD", sourceFileName);
\r
66 if (isSD_HIGH_16_9(mi)) {
\r
67 logger.info(marker, "{} is CONVSD16_9", sourceFileName);
\r
71 if (isSD_HIGH_4_3(mi)) {
\r
72 logger.info(marker, "{} is CONVSD4_3", sourceFileName);
\r
76 if (isSD_MAIN_422(mi)) {
\r
77 logger.info(marker, "{} is MOVED_SD", sourceFileName);
\r
80 } catch (Exception e) {
\r
81 logger.error(marker, e.getMessage());
\r