在视频html标记中播放多个文件

时间:2018-05-08 15:50:21

标签: javascript html video

我正在尝试在一个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标记?或者有视频播放器吗?

由于

3 个答案:

答案 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模拟一个仅文件,而无需用户弄清楚。希望它对您有用。