我正在尝试在一个html播放器中播放多个视频文件,就像它是一个文件一样。
现在,我找到了一个脚本,可以在同一个播放器中一个接一个地播放视频:
<video id="videoPlayer" autoplay autobuffer controls></video>
<script>
var videoPlayer = document.getElementById('videoPlayer')
var vArray = [
"my-first-video.mp4",
"my-second-video.mp4",
"my-thrid-video.mp4",
]
videoPlayer.src = vArray[0]
i = 1
videoPlayer.onended = function(){
if (i < vArray.length) {
videoPlayer.src = vArray[i]
i++
}
}
</script>
问题是:
每个视频之间有一个小的剪辑
所有视频的进度条不是全局的,但每个视频都是
关键是用户没有意识到付款人中有很多视频在播放。
我怎样设法做到这一点?是否只能使用视频HTML标记?或者有视频播放器吗?
由于
答案 0 :(得分:0)
试试这个:` 这是一个HTML代码,您可以在其中一次添加多个视频。
-Wall -fcheck=all -g -O -finit-real=nan -ffpe-trap=invalid
答案 1 :(得分:0)
我找到了另一种方法来实现我想要做的事情,我使用此模块直接将视频与ffmpeg合并:https://github.com/ArsalanDotMe/VideoStitch
答案 2 :(得分:0)
您可以将文件作为临时或永久output.mp4文件加入,然后在脚本上运行该视频。如果文件较小,则需要几秒钟。我已经加入了巨大的文件,并且花了太长时间。
对于ffmpeg,您可以从数组中创建列表并发出命令
ffmpeg -f concat -safe 0 -i mylist.txt -c copy output.mp4
列表必须使用纯txt格式(您可以使用数组在服务器中创建文件):
file my-first-video.mp4
file my-second-video.mp4
file my-thrid-video.mp4
如果您不想创建列表,则可以直接从文件夹中的文件创建列表,该列表从带有“ ls”的第一个mp4到找到的最后一个mp4结束。
ffmpeg $(for f in *.mp4 ; do echo -n "-i $f "; done) -filter_complex "$(i=0 ; for f in *.mp4 ; do echo -n "[$i:v] [$i:a] " ; i=$((i+1)) ; done && echo "concat=n=$i:v=1:a=1 [v] [a]")" -map "[v]" -map "[a]" output.mp4
然后,您可以使用output.mp4模拟一个仅文件,而无需用户弄清楚。希望它对您有用。