You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用ffmpeg -to参数处理多输入流时视频时长不符合预期的问题求助

ffmpeg -to参数处理多输入流时视频时长不符合预期的问题求助

我正在修改一个基于yt-dlp(原youtube-dl)的脚本,想要下载视频的指定时间段——用-to参数指定结束时间戳,而不是用-t指定时长,但遇到了问题。

下面是我用到的ffmpeg命令:

ffmpeg -ss 00:08:50 -i 'https://stream_url_video' -to 00:12:30 -ss 00:08:50 -i 'https://stream_url_audio' -to 00:12:30 -ss 5 -map 0:v -map 1:a -c:v copy -c:a copy 'output.mp4'

现在遇到的问题很奇怪:音频能精准在指定的结束时间戳00:12:30停止,但视频却会一直播放,最终总时长达到了00:12:30(相当于从视频开头算起播放到12分30秒,而不是从我的起始点00:08:50到00:12:30的这段时长)。

有没有办法解决这个问题?

附上我使用的完整脚本:

#!/bin/bash

#Arguments: URL, Starting Timestamp -5 seconds, Ending Timestamp, video file name

set -x;

readarray -t urls <<< "$(yt-dlp -f bestvideo[ext=mp4][vcodec^=avc1]+140 --youtube-skip-dash-manifest -g "$1")"

ffmpeg -ss $2 -i "${urls[0]}" -to $3 -ss $2 -i "${urls[1]}" -to $3 -ss 5 -map 0:v -map 1:a -c:v copy -c:a copy "${4}"

备注:内容来源于stack exchange,提问作者Tom Huntington

火山引擎 最新活动