gpt4 book ai didi

shell - Learning Shell - 创建一个带有参数的脚本,运行两个单独的 cli 应用程序

转载 作者:行者123 更新时间:2023-12-04 23:17:20 24 4
gpt4 key购买 nike

我想学习 shell 脚本,所以我尝试使用 youtube-dl 下载 youtube 视频,然后使用 ffmpeg 将其转换为 mp3。

我手动运行 youtube-dl http://youtube.com/watch?v=...然后ffmpeg -i downloadedFile -ab 256000 -ar 44100 audioFile.mp3 .

我知道我需要将两个参数传递给我的脚本,一个用于视频 url,另一个用于音频文件,以使事情尽可能简单,但我不知道如何开始。也许 grep url 中的视频 id 并使用它来知道要使用哪个文件转换为 mp3? (因为 youtube-dl 保存了以其 id 命名的视频)

有人可以向我推荐可以帮助我的文章或文档吗?

最佳答案

您可以使用 --output youtube-dl 的参数具有任意模板。此外,youtube-dl 已经可以转换为 mp3 了!尝试

#!/bin/sh
youtube-dl -o '%(title)s.%(ext)s' -x --audio-format mp3 -- "$1"
  • -o--output定义输出名称。您可以使用许多模板,包括 %(title)s视频标题,%(ext)s用于扩展,%(id)s用于视频 ID。您还可以使用静态文件名,例如 'audio.%(ext)s , which will result in an音频.mp3` 文件。
  • -x--extract-audio建议 youtube-dl 将视频转换为音频文件(然后删除视频文件,除非您通过 -k )。但是,与您的解决方案相比,youtube-dl 不会重新编码已经在 mp3 中的音频流 - 即使具有相对较高的比特率(例如 256k),当您解码 mp3 并随后重新编码时,您也会失去质量。
  • 如果您想要特定的比特率,请使用 --audio-quality参数,比如说 --audio-quality 256k .
  • --audio-format参数建议 youtube-dl 将音频转换为给定的格式。您可以使用 best始终以任何格式获得原始音频(并且不会丢失任何质量)。
  • "$1"是你的 shell 脚本的第一个参数。您可以传入完整的 URL、视频 ID 或一些快捷方式(如 ytsearch:python 以在 YouTube 上搜索“python”并选择第一个视频。
  • 关于shell - Learning Shell - 创建一个带有参数的脚本,运行两个单独的 cli 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16432889/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com