Esempio n. 1
0
 def extract_vupload(self):
     title = safe_basename(self._current_meta['title'])
     file_list = glob(
         os.path.join(self.folder, self._current_part,
                      self._current_meta['type_tag'], '*'))
     ext_list = [f[-4:] for f in file_list]
     # try:
     #     uploader = '[{}]'.format(self.get_uploader())
     # except BilibiliError:
     #     uploader = ''
     uploader = '[{}]'.format(self.get_uploader() or 'NA')
     output = os.path.join(self.work_dir,
                           '{} [av{}]{}'.format(title, self.id, uploader))
     if len(self.part_list) >= 2:
         part_title = safe_basename(self._current_meta['page_data']['part'])
         output += '{}-{}.mp4'.format(self._current_part, part_title)
     else:
         output += '.mp4'
     safe_print(output)
     if '.m4s' in ext_list:
         m4s_list = [f for f in file_list if f[-4:] == '.m4s']
         merge_m4s(m4s_list, output)
     elif '.blv' in ext_list:
         blv_list = [f for f in file_list if f[-4:] == '.blv']
         concat_videos(blv_list, output)
     else:
         print('    NO MEDIA STREAM FOUND')
     shutil.copy2(
         os.path.join(self.folder, self._current_part, 'danmaku.xml'),
         output[:-3] + 'xml')
Esempio n. 2
0
 def handle_bangumi(self):
     title = safe_basename(self.entry['title'])
     blv_list = glob(
         os.path.join(self.folder, self.part, self.entry['type_tag'],
                      '*.blv'))
     part_title = safe_basename(self.entry['ep']['index_title'])
     av_id = self.entry['ep']['av_id']
     ep_num = self.entry['ep']['index']
     output_dir = os.path.join(
         self.work_dir, '{} [av{}][{}]'.format(title, av_id, self.id))
     if not os.path.isdir(output_dir):
         os.mkdir(output_dir)
     output = os.path.join(
         output_dir, '{}. {}.mp4'.format(
             str(ep_num).zfill(len(str(self.part_sum))), part_title))
     safe_print(output)
     concat_videos(blv_list, output)
     shutil.copy2(os.path.join(self.folder, self.part, 'danmaku.xml'),
                  output[:-3] + 'xml')
Esempio n. 3
0
 def handle_vupload(self):
     title = safe_basename(self.entry['title'])
     blv_list = glob(
         os.path.join(self.folder, self.part, self.entry['type_tag'],
                      '*.blv'))
     try:
         uploader = self.get_uploader()
     except BilibiliError:
         uploader = 'na'
     output = os.path.join(self.work_dir,
                           '{} [av{}][{}]'.format(title, self.id, uploader))
     if len(self.part_list) >= 2:
         part_title = safe_basename(self.entry['page_data']['part'])
         output += '{}-{}.mp4'.format(self.part, part_title)
     else:
         output += '.mp4'
     safe_print(output)
     concat_videos(blv_list, output)
     shutil.copy2(os.path.join(self.folder, self.part, 'danmaku.xml'),
                  output[:-3] + 'xml')