当前位置: 首页>>代码示例>>Python>>正文


Python YoutubeDL.add_post_processor方法代码示例

本文整理汇总了Python中youtube_dl.YoutubeDL.add_post_processor方法的典型用法代码示例。如果您正苦于以下问题:Python YoutubeDL.add_post_processor方法的具体用法?Python YoutubeDL.add_post_processor怎么用?Python YoutubeDL.add_post_processor使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在youtube_dl.YoutubeDL的用法示例。


在下文中一共展示了YoutubeDL.add_post_processor方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: download_youtube

# 需要导入模块: from youtube_dl import YoutubeDL [as 别名]
# 或者: from youtube_dl.YoutubeDL import add_post_processor [as 别名]
def download_youtube(url,filepath,params=None):
    tmp_filepath = compat_str(filepath)
    print "download to",tmp_filepath
    params = params or settings.youtube_params
    params.update({"outtmpl":tmp_filepath,"daterange":DateRange(None,None)})
    y = YoutubeDL(params) 
     #y = YoutubeDL({"format":"18/34/35/5/17","outtmpl":filepath}) 
     #y.print_debug_header()
    y.add_default_info_extractors()
    y.add_post_processor(FFmpegExtractAudioPP(preferredcodec="m4a",preferredquality=5, nopostoverwrites=False))
    value = y.download([url])
    #cmd = 'youtube-dl {url} --extract-audio --audio-format wav -o {filepath}'.format(url=url,filepath=filepath)
    #print cmd
    #result = subprocess.call(cmd,shell=True)
    #print result
    return True
开发者ID:nod3x,项目名称:playmuzik,代码行数:18,代码来源:muzik.py

示例2: run

# 需要导入模块: from youtube_dl import YoutubeDL [as 别名]
# 或者: from youtube_dl.YoutubeDL import add_post_processor [as 别名]
    def run(self, release_task_pk: int, custom_options: Optional[dict]=None) -> None:
        try:
            with transaction.atomic():
                self.download_task = DownloadTask.objects.get(pk=release_task_pk)
                self.download_task.downloader = DownloadTask.YOUTUBE_DL
                self.download_task.celery_id = self.request.id
                self.download_task.state = DownloadTask.DOWNLOADING
                self.download_task.started_at = timezone.now()
                self.download_task.save()

            options = copy.deepcopy(self.YOUTUBE_DL_OPTIONS)
            options['outtmpl'] = options['outtmpl'].format(self.request.id.replace('-', ''))
            options['progress_hooks'] = [self._progress_hook]

            if custom_options:
                custom_options = self._clean_options(custom_options)
                options.update(custom_options)

            downloader = YoutubeDL(options)
            downloader.add_post_processor(self._get_postprocessor())
            downloader.download([self.download_task.url])
        except SystemExit:
            try:
                os.remove(self._last_status['tmpfilename'])
            except AttributeError:
                return
            except:
                log.exception('Exception while removing temporary file. id={0}, tempfilename={1}'.format(
                        release_task_pk, self._last_status['tmpfilename'])
                )
                raise
        except (BaseDatabaseError, ObjectDoesNotExist, MultipleObjectsReturned):
            # Hope we've caught everything
            log.exception('Exception while updating DownloadTask. id={0}'.format(release_task_pk))
            raise
        except:
            try:
                with transaction.atomic():
                    self.download_task.state = DownloadTask.ERROR
                    self.download_task.finished_at = timezone.now()
                    self.download_task.save()

                    self.download_task.tracebacks.create(text=traceback.format_exc())
                raise
            except (BaseDatabaseError, ObjectDoesNotExist, MultipleObjectsReturned):
                log.exception('Exception while changing DownloadTask.state to ERROR. id={0}'.format(release_task_pk))
                raise
开发者ID:slapec,项目名称:rlscloud,代码行数:49,代码来源:tasks.py

示例3: run_pp

# 需要导入模块: from youtube_dl import YoutubeDL [as 别名]
# 或者: from youtube_dl.YoutubeDL import add_post_processor [as 别名]
 def run_pp(params, PP):
     with open(filename, 'wt') as f:
         f.write('EXAMPLE')
     ydl = YoutubeDL(params)
     ydl.add_post_processor(PP())
     ydl.post_process(filename, {'filepath': filename})
开发者ID:jalexandretoledo,项目名称:youtube-dl,代码行数:8,代码来源:test_YoutubeDL.py

示例4: YoutubeDL

# 需要导入模块: from youtube_dl import YoutubeDL [as 别名]
# 或者: from youtube_dl.YoutubeDL import add_post_processor [as 别名]
from flask.ext.restful import reqparse, abort, Api, Resource
from youtube_dl import YoutubeDL
from youtube_dl import FFmpegExtractAudioPP
import redis
import boto
import boto.s3.connection
from boto.s3.key import Key


ydl = YoutubeDL({
  'outtmpl': '%(id)s.%(ext)s',
  'format': 'bestaudio/best',
  'verbose': 'yes',
  })
ydl.add_default_info_extractors()
ydl.add_post_processor(FFmpegExtractAudioPP(preferredcodec='mp3', preferredquality='5', nopostoverwrites=False))
ydl.print_debug_header()
app = Flask(__name__)
api = Api(app)

conn = boto.connect_s3()
bucket = conn.get_bucket('turntable.dongs.in')

r = redis.Redis("localhost")

def abort_if_song_doesnt_exist(song_id):
        abort(404, message="song {} doesn't exist".format(song_id))

parser = reqparse.RequestParser()
parser.add_argument('hash', type=str)
parser.add_argument('username', type=str)
开发者ID:gmackie,项目名称:turntable,代码行数:33,代码来源:app.py


注:本文中的youtube_dl.YoutubeDL.add_post_processor方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。