【问题标题】:How to cut out first 5 seconds with youtube_dl and ffmpeg in python如何在 python 中使用 youtube_dl 和 ffmpeg 剪掉前 5 秒
【发布时间】:2021-05-24 12:34:02
【问题描述】:

我有一个用于下载和保存 MP3 的 python 脚本,我想添加代码以从 MP3 的开头截取 5 秒。

def download():
    ydl_opts = {
        'format': 'bestaudio/best',
        'outtmpl': 'c:/MP3/%(title)s.%(ext)s',
        'cookiefile': 'cookies.txt',
        'postprocessors': [{
            'key': 'FFmpegExtractAudio',
            'preferredcodec': 'mp3',
            'preferredquality': '192',
        }],
    }
    with youtube_dl.YoutubeDL(ydl_opts) as ydl:
        ydl.download([inpYTLinkSong.get()])

我找到了一些用于减少 x 秒的命令行代码:

ffmpeg -ss 00:00:15.00 -i "OUTPUT-OF-FIRST URL" -t 00:00:10.00 -c copy out.mp4

所以我认为我必须将 -ss 部分放入脚本中的后处理器部分,例如:

'postprocessors': [{
        'key': 'FFmpegExtractAudio',
        'preferredcodec': 'mp3',
        'preferredquality': '192',
        'ss':'00:00:05.00'
    }],

但当然它不适用于“ss”或“duration”(在 ffmpeg 文档中找到)。

那么有什么想法我必须放在那里而不是'ss'?

【问题讨论】:

    标签: python ffmpeg youtube-dl


    【解决方案1】:

    尝试像这样使用postprocessor_args:

    'postprocessor_args': '-ss 00:00:05'
    

    如果输入不是实时的,它应该可以工作。

    【讨论】:

    • @SvenXP 你能把它标记为接受的答案吗?
    【解决方案2】:

    它正在使用

    'postprocessor_args': ['-ss', '00:00:05']
    

    感谢@pszemus 的指导。

    【讨论】:

      猜你喜欢
      • 2015-08-07
      • 1970-01-01
      • 2022-11-14
      • 2018-01-15
      • 2017-02-07
      • 1970-01-01
      • 2015-08-19
      • 2016-08-19
      • 2019-03-11
      相关资源
      最近更新 更多