【问题标题】:downloading and concatenating parts of videos from youtube从 youtube 下载和连接部分视频
【发布时间】:2018-10-17 10:42:00
【问题描述】:

我正在尝试创建一个视频测验,它将包含连接在一起的其他视频的一小部分(目的是让人们识别这些短片的来源)。

为此,我创建了一个文件,其中包含视频的 URL、“剪辑”的开始时间及其长度。例如:

https://www.youtube.com/watch?v=5-j6LLkpQYY   00:00   01:00
https://www.youtube.com/watch?v=b-DqO_D1g1g   14:44   01:20
https://www.youtube.com/watch?v=DPAgWKseVhg   12:53   01:00

意思是第一部分应该从第一个 URL 的开始和最后一分钟获取视频,第二部分应该从第二个 URL 的 14:44(分钟:秒)开始和最后一分钟和20 秒等等。

那么所有这些部分都应该连接到一个视频中。

我正在尝试编写一个脚本(我使用 ubuntu 并且精通几种脚本语言),我尝试使用 youtube-dl 命令行包和 ffmpeg,但我找不到正确的选项达到我的需要。

任何建议将不胜感激。

【问题讨论】:

  • 嘿伙计,你有没有找到与此相关的任何东西??

标签: ffmpeg youtube youtube-dl video-editing


【解决方案1】:

考虑到视频列表在foo.txt,输出视频是foo.mp4,这个bash脚本应该可以完成这项工作:

eval $(cat foo.txt | while read u s d; do echo "cat <(youtube-dl -q -o - $u | ffmpeg -v error -hide_banner -i - -ss 00:$s -t 00:$d -c copy -f mpegts -);"; done | tee /dev/tty) | ffmpeg -i - -c copy foo.mp4

这是使用process substitutioneval 的小技巧来避免中间文件,容器mpegts 启用简单的concat protocoltee /dev/tty 仅用于调试。

我已经用youtube-dl 2018.09.26-1ffmpeg 1:4.0.2-3 进行了测试。

【讨论】:

    猜你喜欢
    • 2022-01-22
    • 2010-11-08
    • 2014-05-25
    • 1970-01-01
    • 1970-01-01
    • 2014-09-10
    • 2012-09-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多