小编Teh*_*hGM的帖子

YouTube iframe 循环视频在首次加载时不可用

我在 Blazor 支持的静态页面上嵌入了视频。我想让视频循环播放。根据文档(https://developers.google.com/youtube/player_parameters#loop),我需要同时拥有loopplaylist参数。很容易。

所以我生成这样的URL:https://www.youtube-nocookie.com/embed/tFbVZCbLhOk ?autoplay=1&loop=1&modestbranding=1&disablekb=1&playsinline=1&rel=0&fs=0&playlist=tFbVZCbLhOk&controls=1&origin=http://localhost:5134 - 如您所见,loop设置为1,并且playlist设置为同一视频本身tFbVZCbLhOk

我遇到的问题是,当嵌入视频(或直接访问链接 - 问题也发生在那里)时,它会出现错误This video is unavailable。刷新页面可以解决这个问题,但它当然还不够完美。我不确定是什么原因导致此问题,因为某些视频在第一次尝试时似乎随机工作 - 但它不一致,因为同一视频可能会在其他时候失败。

删除playlist参数可以解决问题,但视频无法正常循环,这对我的用例来说更糟糕。

我不确定这是否是 YouTube 方面的倒退,因为一两个月前,我没有这个问题 - 至少我认为是这样。
它似乎也没有绑定到选项卡或类似的东西 - 当我打开一次视频时,下次我在单独的选项卡上打开它时,它就可以工作 - 几乎就像 YT 花了很多时间为视频创建播放列表一样,但是这只是我的猜测

embed youtube iframe youtube-iframe-api

8
推荐指数
1
解决办法
2138
查看次数

C# 启动进程即使被杀死并释放也会泄漏内存(在 Linux 上)

注意:根据测试(请参阅下面的编辑),这种情况仅发生在 Linux 计算机上。

我有一个在 Raspberry Pi 上运行的 ASP.NET Core Blazor 应用程序(使用服务器端托管模型)。该应用程序的部分功能是根据系统上次交互的时间来调暗/调亮屏幕。为此,我每隔 1 秒左右生成一个终端子进程来运行xprintidle、解析其输出并采取相应的操作。

我使用DataDog进行监控,并且出现内存泄漏,直到系统崩溃(需要几天的时间才能用完所有内存,但最终确实会发生):
在此输入图像描述

我已经指出以下方法是泄漏内存的原因 - 如果我跳过调用它并使用一些恒定的时间跨度,内存不会泄漏:我有以下代码来执行此操作:

// note this code has some parts that aren't even needed - I was simply trying anything to solve this problem at this point
public async Task<TerminalResult> ExecuteAndWaitAsync(string command, bool asRoot, CancellationToken cancellationToken = default)
{
    using Process prc = CreateNewProcess(command, asRoot);
    // we need to redirect stdstreams to read them
    prc.StartInfo.RedirectStandardOutput = true;
    prc.StartInfo.RedirectStandardError = true;

    // start the process …
Run Code Online (Sandbox Code Playgroud)

.net c# linux memory-leaks .net-core

6
推荐指数
1
解决办法
1185
查看次数