小编kno*_*ona的帖子

赋值运算符、映射和承诺。那个代码有什么问题?Javascript

我正在做一些事情,但遇到了一个我无法理解的问题。我简化了代码以获得:

function somePromise() {
    return new Promise((resolve, reject) => {
        resolve(1);
    });
}

async function main() {
    let count = 0;
    const arr = [1, 2, 3, 4, 5];
    const promises = arr.map(async () => {
        count += await somePromise();
    })
    await Promise.all(promises);
    console.log(count);
}

main().then(() => console.log('Done'));
Run Code Online (Sandbox Code Playgroud)

你期待什么结果?

1
完成

已记录。

当我改变

count += await somePromise();
Run Code Online (Sandbox Code Playgroud)

const nb = await somePromise();
count += nb;
Run Code Online (Sandbox Code Playgroud)

我得到

5
完成

我第一次期待的。

你能帮我找出问题所在吗?我不明白。

javascript assignment-operator promise es6-promise

5
推荐指数
1
解决办法
90
查看次数

使用 ffmpeg 将多个音轨和字幕添加到 dash 清单 (mpd)

我正在尝试创建一个网站来播放一些视频。对于每个视频,我将视频、音频和字幕提取到 3 个不同的文件夹中。碰巧一个视频有多个音轨和多个字幕。我做了很多研究,但我不知道如何将它们全部添加到清单中。现在,我使用这个命令:

ffmpeg -f webm_dash_manifest \
-i video1.mp4 -f webm_dash_manifest \
-i video2.mp4 -f webm_dash_manifest \
-i audio1.webm -f webm_dash_manifest \
-i audio2.webm -f webm_dash_manifest \
-i subtitles.vtt \
-c copy -map 0 -map 1 -map 2 -map 3 \
-f webm_dash_manifest -adaptation_sets "id=0,streams=v id=1,streams=a" manifest.mpd
Run Code Online (Sandbox Code Playgroud)

我的两个视频具有不同的分辨率和比特率,但效果很好。但我没有得到任何字幕,并且我的两个音轨被视为具有两种不同比特率的同一个音轨(就像视频一样)。我认为我应该有很多适应集,但我不知道如何创建它们。

我怎样才能以正确的方式创建清单?

ffmpeg manifest stream mpd mpeg-dash

2
推荐指数
1
解决办法
4909
查看次数