sczhou commited on
Commit
7a584fd
Β·
1 Parent(s): 1d7f0a3

update for video enhance.

Browse files
README.md CHANGED
@@ -100,7 +100,7 @@ You can put the testing images in the `inputs/TestWhole` folder. If you would li
100
  πŸ§‘πŸ» Face Restoration (cropped and aligned face)
101
  ```
102
  # For cropped and aligned faces
103
- python inference_codeformer.py -w 0.5 --has_aligned --input_path [input folder]
104
  ```
105
 
106
  :framed_picture: Whole Image Enhancement
@@ -108,12 +108,17 @@ python inference_codeformer.py -w 0.5 --has_aligned --input_path [input folder]
108
  # For whole image
109
  # Add '--bg_upsampler realesrgan' to enhance the background regions with Real-ESRGAN
110
  # Add '--face_upsample' to further upsample restorated face with Real-ESRGAN
111
- python inference_codeformer.py -w 0.7 --input_path [image folder/image path]
112
  ```
113
 
114
  :clapper: Video Enhancement
115
  ```
 
 
 
 
116
  # For video clips
 
117
  python inference_codeformer.py --bg_upsampler realesrgan --face_upsample -w 1.0 --input_path [video path]
118
  ```
119
 
 
100
  πŸ§‘πŸ» Face Restoration (cropped and aligned face)
101
  ```
102
  # For cropped and aligned faces
103
+ python inference_codeformer.py -w 0.5 --has_aligned --input_path [image folder]|[image path]
104
  ```
105
 
106
  :framed_picture: Whole Image Enhancement
 
108
  # For whole image
109
  # Add '--bg_upsampler realesrgan' to enhance the background regions with Real-ESRGAN
110
  # Add '--face_upsample' to further upsample restorated face with Real-ESRGAN
111
+ python inference_codeformer.py -w 0.7 --input_path [image folder]|[image path]
112
  ```
113
 
114
  :clapper: Video Enhancement
115
  ```
116
+ # For Windows/Mac users, please install ffmpeg first
117
+ conda install -c conda-forge ffmpeg
118
+ ```
119
+ ```
120
  # For video clips
121
+ # video path should end with '.mp4'|'.mov'|'.avi'
122
  python inference_codeformer.py --bg_upsampler realesrgan --face_upsample -w 1.0 --input_path [video path]
123
  ```
124
 
basicsr/utils/video_util.py CHANGED
@@ -30,10 +30,16 @@ class VideoReader:
30
  def __init__(self, video_path):
31
  self.paths = [] # for image&folder type
32
  self.audio = None
33
- self.stream_reader = (
34
- ffmpeg.input(video_path).output('pipe:', format='rawvideo', pix_fmt='bgr24',
35
- loglevel='error').run_async(
36
- pipe_stdin=True, pipe_stdout=True, cmd='ffmpeg'))
 
 
 
 
 
 
37
  meta = get_video_meta_info(video_path)
38
  self.width = meta['width']
39
  self.height = meta['height']
 
30
  def __init__(self, video_path):
31
  self.paths = [] # for image&folder type
32
  self.audio = None
33
+ try:
34
+ self.stream_reader = (
35
+ ffmpeg.input(video_path).output('pipe:', format='rawvideo', pix_fmt='bgr24',
36
+ loglevel='error').run_async(
37
+ pipe_stdin=True, pipe_stdout=True, cmd='ffmpeg'))
38
+ except FileNotFoundError:
39
+ print('Please install ffmpeg (not ffmpeg-python) by running\n',
40
+ '\t$ conda install -c conda-forge ffmpeg')
41
+ sys.exit(0)
42
+
43
  meta = get_video_meta_info(video_path)
44
  self.width = meta['width']
45
  self.height = meta['height']
inference_codeformer.py CHANGED
@@ -107,6 +107,9 @@ if __name__ == '__main__':
107
  result_root = args.output_path
108
 
109
  test_img_num = len(input_img_list)
 
 
 
110
  # ------------------ set up background upsampler ------------------
111
  if args.bg_upsampler == 'realesrgan':
112
  bg_upsampler = set_realesrgan()
 
107
  result_root = args.output_path
108
 
109
  test_img_num = len(input_img_list)
110
+ if test_img_num == 0:
111
+ raise FileNotFoundError("\nInput file is not found.")
112
+
113
  # ------------------ set up background upsampler ------------------
114
  if args.bg_upsampler == 'realesrgan':
115
  bg_upsampler = set_realesrgan()
requirements.txt CHANGED
@@ -14,5 +14,4 @@ torchvision
14
  tqdm
15
  yapf
16
  lpips
17
- gdown # supports downloading the large file from Google Drive
18
- ffmpeg-python
 
14
  tqdm
15
  yapf
16
  lpips
17
+ gdown # supports downloading the large file from Google Drive