Jeffgold commited on
Commit
0343e3e
·
1 Parent(s): f56e978

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -3
app.py CHANGED
@@ -32,7 +32,7 @@ fs = s3fs.S3FileSystem(anon=False, client_kwargs={'region_name': 'us-east-1'})
32
 
33
  logging.basicConfig(level=logging.INFO)
34
 
35
- standard_resolutions = [240, 360, 480, 720, 1080, 1440, 2160, 4320]
36
 
37
  def start_http_server(port=8000):
38
  handler = http.server.SimpleHTTPRequestHandler
@@ -109,14 +109,18 @@ def convert_video(video_file, quality, aspect_ratio, video_url):
109
  # Get the original height to avoid upscaling
110
  original_height = video.size[1]
111
 
 
 
 
112
  output_paths = []
113
- for res in standard_resolutions:
114
  if res > original_height:
115
  continue
116
 
117
  scale = "-1:" + str(res)
118
  output_path = get_output_path(input_path, str(res) + 'p')
119
 
 
120
  ffmpeg_command = [
121
  "ffmpeg", "-i", str(input_path), "-c:v", "libx264", "-crf", str(quality),
122
  "-vf", f"scale={scale}:force_original_aspect_ratio=decrease,pad=ceil(iw/2)*2:ceil(ih/2)*2",
@@ -147,7 +151,7 @@ def convert_video(video_file, quality, aspect_ratio, video_url):
147
  return output_html
148
 
149
  video_file = gr.inputs.File(label="Your video file")
150
- quality = gr.inputs.Slider(minimum=1, maximum=50, label="Quality (1:Speed - 50:Quality)")
151
  aspect_ratio = gr.inputs.Dropdown(["16:9", "4:3", "1:1", "3:4", "9:16", "1:1", "2:1", "1:2"], label="Aspect Ratio", default="16:9")
152
  video_url = gr.inputs.Textbox(lines=1, placeholder="or paste video url here", label="Video URL")
153
 
 
32
 
33
  logging.basicConfig(level=logging.INFO)
34
 
35
+ standard_resolutions = [4320, 2160, 1440, 1080, 720, 480, 360, 240]
36
 
37
  def start_http_server(port=8000):
38
  handler = http.server.SimpleHTTPRequestHandler
 
109
  # Get the original height to avoid upscaling
110
  original_height = video.size[1]
111
 
112
+ # Get the original height to avoid upscaling
113
+ original_height = video.size[1]
114
+
115
  output_paths = []
116
+ for res in reversed(standard_resolutions):
117
  if res > original_height:
118
  continue
119
 
120
  scale = "-1:" + str(res)
121
  output_path = get_output_path(input_path, str(res) + 'p')
122
 
123
+ # use a lower CRF value for better quality
124
  ffmpeg_command = [
125
  "ffmpeg", "-i", str(input_path), "-c:v", "libx264", "-crf", str(quality),
126
  "-vf", f"scale={scale}:force_original_aspect_ratio=decrease,pad=ceil(iw/2)*2:ceil(ih/2)*2",
 
151
  return output_html
152
 
153
  video_file = gr.inputs.File(label="Your video file")
154
+ quality = gr.inputs.Slider(minimum=0, maximum=51, default=23, label="Quality (0: Highest Quality - 51: Fastest)")
155
  aspect_ratio = gr.inputs.Dropdown(["16:9", "4:3", "1:1", "3:4", "9:16", "1:1", "2:1", "1:2"], label="Aspect Ratio", default="16:9")
156
  video_url = gr.inputs.Textbox(lines=1, placeholder="or paste video url here", label="Video URL")
157