text:
How to run LongQC with Singularity

Hi, I have no problem running LongQC with Docker with the command in the Doc:
docker run -it \
-v YOUR_INPUT_DIR:/input \
-v YOUR_OUTPUT_DIR:/output \
longqc sampleqc \
-x pb-sequel \ **specify a preset and change accordingly.**
-p $(nproc) \ **number of process/cores, this uses all of your cores. change accordingly.**
-o /output/YOUR_SAMPLE_NAME \ **keep /output as this is binded.**
/input/YOUR_INPUT_READ_FILE **keep /input as this is binded.**

But because of Docker's high privilege requirement, it is not allowed on our server. But Singularity is supported on the server. So I converted LongQC's Docker image into a Singularity file longqc.sif, but I'm having problems getting it run with singularity. Do you have any suggestions on how to run this longqc.sif with Singularity? Thank you in advance!

Hi @zhxiaokang,
Thank you for having interest in LongQC and your comment!
Indeed, Singularity seems to be quite popular among computer clusters, but I haven't covered Singularity yet. Can I ask what type of issue happened when you run on Singularity?
Y.

Hi @yfukasawa ,
Thank you for the quick reply. When I tried singularity run longqc.sif, I got the error FATAL: "longQC.py": executable file not found in $PATH. On the other hand, if I run a similar command docker run longqc, I got the nice expected HELP doc.

Hi @zhxiaokang,
Thank you for your reply, and ok I understood your issue.
Some modification on the line 51 in Dockerfile would fix on Singularity, like ENV PATH="$HOME/LongQC:$PATH"
https://github.com/yfukasawa/LongQC/blob/113f60c19c1a2738e1be14b072c3885db7eb91f2/Dockerfile#L51
I did a lazy coding (/root was hard coded), and this seems to have caused the issue at your end.
$HOME equals /root in a typical Docker environment, but I learned $HOME can be inherited from the host on Singularity.
Kindly let me know if this doesn't work.
Y.

Hi, I tried modifying line 51 (the Dockerfile is in the directory $HOME/LongQC, which is the folder of the whole GitHub repository). And then did the following:
docker build -t longqc:latest .  # in the directory of $HOME/LongQC
singularity build longqc.sif docker-daemon://longqc:latest

Then I have longqc.sif built from the Docker image. Then:
singularity run longqc.sif

Then the same error: FATAL: "longQC.py": executable file not found in $PATH

sorry for delay. I've checked how Singularity works and some practices.
In Singularity, I learned that the above is not good practice as $HOME can be different.
this is just FYI, PATH for LongQC seems not to work in your Singularity image.
You can try something like:
singularity shell longqc.sif
then, inside of the shell:
Singularity>ls $HOME/LongQC
Singularity>echo $PATH
Also, another person kindly shared his Dockerfile before. it would be helpful for your situation.
https://github.com/yfukasawa/LongQC/issues/22
Y.

Hi, thank you for the hints. echo $PATH gives me: /LongQC:/opt/conda.... I guess that's why it complains executable file 'longQC.py' not found in $PATH, since the /LongQC doesn't exist. I tried to change $HOME in the Dockerfile to a hard directory, but that won't help.
I also tried the Dockerfile provided at #22 and it almost worked: the converted singularity image can be run with longqc.sif --help, but then I don't know how to set the parameters (Docker requires to mount the dir but Singularity is something different though) for command 'longqc.sif sampleqc'

Thanks for following up. $HOME isn't expanded or becomes empty with ENV command in Docker (still investigating), and maybe this happened at your environment either.
In any case, I'm glad to hear it works on your end.
Re. binding of dir(s) between your host OS and Singularity container, I have no expertise on it unfortunately.
As long as LongQC executables in the container can read and write in a dir, it should work.
https://singularity-tutorial.github.io/05-bind-mounts/
This page says your host's home dir is automatically mounted onto Singularity's container, so somewhere under your home may work without binding.
Y.

let me close this thread, and feel free to reopen when needed.
Y.

authors: yfukasawa zhxiaokang

repo: yfukasawa/LongQC


text:
Option to open apps simultaneously or in order

Describe the feature you want
Ability to open apps in order

As far as I research this is impossible.

source: gharchive/issue

license: MIT

license_type: permissive

license_source: github-api


text:
data_conversion/acdc_3d.py中注意哪些参数?

非常棒的框架，请问在使用自己的数据集时，需要在data_conversion/acdc_3d.py中注意哪些参数？
[def ResampleCMRImage(imImage, imLabel, save_path, patient_name, count, target_spacing=(1., 1., 1.)):](https://github.com/yhygao/CBIM-Medical-Image-Segmentation/blob/2f4408900378bf6600673bbe10dbcbf60d646e35/dataset_conversion/acdc_3d.py#L8)
我参照acdc_3d.py创建了一个自己数据集的mydataset_3d.py文件，但是发现ResampleCMRImage类中传入的target_spaceing为其他值时，比如（0.6481,0.6481,1），在trian的过程中，会出现RuntimeError: CUDA error: device-side assert triggered 的问题。试过其他spaceing值也是如此，但是采用默认的（1.5625,1.5625,5）是可以训练的。
另外，我使用的是CT的血管分割数据
请问这个spaceing值要如何设置？或者我还需要修改哪些地方？

target_spacing应该是根据数据集设定的，我是follow了nnUNet的设定，target_spacing设为整个数据集spacing的中位数。这个数值只会影响输入图像的size，理论上应该不会导致CUDA error，我的实验中是没出过这个问题的。这个error可能是label数据出了问题，可以试着在loss之前看看label里面的值有没有超过classes类别的

target_spacing应该是根据数据集设定的，我是follow了nnUNet的设定，target_spacing设为整个数据集spacing的中位数。这个数值只会影响输入图像的size，理论上应该不会导致CUDA error，我的实验中是没出过这个问题的。这个error可能是label数据出了问题，可以试着在loss之前看看label里面的值有没有超过classes类别的，或者跟你网络最后输出层channel数是不是匹配的上。

感谢提醒。
我目前做的只有一个标签的分割。
在loss前这样处理后，能正常训练。
    label[label >= args.classes] = args.classes - 1
    label[label < 0] = 0

小建议，训练日志输出时，batchtime和training time数值相差不大，可以精简掉一个。
print('[%d/%d]: %d  loss: %.5f,   batch_time:%.5fs' % (epoch + 1, args.epochs, i, loss.item(), batch_time))

感谢建议，这两个time是之前debug时候用的，忘记删掉了。这个框架目前还是非常初步的状态，有任何建议或者遇到什么bug欢迎提issue。感谢！

authors: ruifenggong yhygao

repo: yhygao/CBIM-Medical-Image-Segmentation


text:
Add armv7l (32-bit arm) build

curl-impersonate has recently added builds for armv7l: https://github.com/lwthiker/curl-impersonate/commit/9303ce340f212ba92c00bdfd2f7c1380f1d069d7
Currently these are only present in the new 0.6.0 alpha release, but once that is stabilized it would be great if we can also get some armv7 builds running for curl_cffi too.
https://github.com/lwthiker/curl-impersonate/releases/tag/v0.6.0-alpha.1

Sure, let's wait for the official release.

Fwiw, I have an older build of curl_cffi for armv7l here: https://github.com/bjia56/armv7l-wheels
It uses the changes I contributed upstream to curl-impersonate, but builds libraries against an older glibc than the cross compiler, so should have greater Linux version compatibility.

If there's interest for upstream curl_cffi to be able to build armv7l wheels and pull in the releases from upstream curl-impersonate, I highly recommend modifying setup.py to download the shared objects based on detected architecture as part of build, so the piwheels project can automatically pull it into their build system.

I'm trying to incorporate upstream changes on this branch. Basically, I just changed the version numbers.
I haven't touched the armv7l parts yet, since it seems that CI build process needs to change for cross compiling. PRs are welcome if you would like to work on this.

I'm tring to build my fork with newer browser versions support, but it failed for armv7l with zstd related errors. Do you happen to know about that? @bjia56

Haven't seen that before, it looks like the build might require cross compiling zstd (a compression library) before linking. Perhaps it is a newer dependency to chrome?

It looks like it also failed on arm64 with same linking error. Did your change enable zstd? I see it disabled in the upstream build. Could also be because you bumped the Ubuntu builder version, newer libraries exist on the system and it's trying to pull in zstd. Might need to change the curl-impersonate Makefile to specifically turn off this library.

btw - I'm starting to test your build of curl-impersonate in my armv7l wheels repo. It'll be nice to get a newer curl build in, thanks for your effort on updating the build!

Just checked replated projects and it seems that cibuildwheel does not support building arm32 wheels directly and there is not bdist channel on PyPI for that. I will try to build a wheel to the releases on GitHub later. Moving this out of #163

Just checked replated projects and it seems that cibuildwheel does not support building arm32 wheels directly and there is not bdist channel on PyPI for that. I will try to build a wheel to the releases on GitHub later. Moving this out of #163

If setup.py downloads the libcurl binaries from gh (based on architecture) as part of the build (instead of a preprocess makefile step), then piwheels.org will be able to automatically produce armv7l wheels built on real 32 bit raspberry pi hardware.

I see, at least we can make setup.py download the so files when they are not downloaded.

@bjia56 We've merged download logic to setup.py, do you have a arm32 machine to verify if the sdist works in #192 ?

piwheels is still experiencing build errors for 0.6.0: https://www.piwheels.org/project/curl-cffi/

Maybe this (and the armv7l below) should just be arm? https://github.com/yifeikong/curl_cffi/blob/main/libs.json#L63

Maybe this (and the armv7l below) should just be arm? https://github.com/yifeikong/curl_cffi/blob/main/libs.json#L63

Updated in v0.6.1, does it work?

Unfortunately not quite, it looks like the latest so download fails because arm-linux-gnu.tar.gz needs to be arm-linux-gnueabihf.tar.gz

Unfortunately not quite, it looks like the latest so download fails because arm-linux-gnu.tar.gz needs to be arm-linux-gnueabihf.tar.gz

Which one should be changed then? Here or curl-impersonate? I'm not really an expert in embedded compiler names.

It's probably more correct to change in curl-cffi to specify the platform triplet of arm-linux-gnueabihf in libs.json (for this and other platforms as well). arm32 is finicky since it's got a wide number of optional hardware features that vary from manufacturer to manufacturer, so the gnueabihf is needed to say that there needs to be hardware floating point support on the machine.

I guess changing the sysname will fix it without adding another platform triplet property https://github.com/yifeikong/curl_cffi/blob/main/libs.json#L70

Do you mind opening a PR? I'm not sure if we have the .so for armv6l and its corresponding values.

Sure. The arm builds are built against armv6l which will also work on armv7l, so both platforms will work fine with the same download.

#255 opened. Trying to build it on my raspberry pi is also having other errors related to missing types such as struct curl_ws_frame, which I assume is due to newer curl headers. Is there any way curl.h can be bundled into the build process? Or has that been bundled into the sdist already?

For folks following this thread - there are still some pending items to work through for piwheels to properly build wheels that can just be downloaded and used directly. In the meantime, I will be maintaining prebuilt wheels (with so's bundled in) over on my armv7l index here: https://bjia56.github.io/armv7l-wheels/curl-cffi/

gcc.txt
Here is the resutls from my RPi Zero 2W, running gcc -mcpu=native -march=native -Q --help=target
>>> import platform
>>> platform.uname()
uname_result(system='Linux', node='raspberrypi', release='6.1.21+', version='#1642 Mon Apr  3 17:19:14 BST 2023', machine='armv6l')

Which shows this:
>>> from curl_cffi import requests
>>> requests.get("https://www.zhihu.com")
Illegal instruction

Can you try something like this to identify which instruction is involved: https://stackoverflow.com/a/40223712

Do you also get illegal instruction when using the curl-impersonate-chrome executable?

Yes. But I found out that it works for http site.

My guess is boringssl is trying to do some hardware-optimized assembly that isn't available for that particular raspberry pi model. I can test with my raspberry pi 1 (also armv6) later today or tomorrow

Can you try something like this to identify which instruction is involved: https://stackoverflow.com/a/40223712

>0x1f3644    vld1.64     {d18-d19}, [r0 :128]
 0x1f3648    mov r0, #2
 0x1f364c    vmov.i32    q8, #0  ; 0x00000000
 0x1f3650    add r6, r4, #76     ; 0x4c
 0x1f3654    strb        r0, [r4, #44]   ; 0x2c
 0x1f3658    mov r0, #0
 0x1f365c    str r0, [r4, #40]   ; 0x28
 0x1f3660    mov r3, #102400     ; 0x19000
 0x1f3664    ldr r2, [r1, #4]
 0x1f3668    ldr r1, [r1, #8]
 0x1f366c    str r2, [r4]

It seems that the last instruction is a neon instruction, which is not available on my RPi zero W. (I mistakenly said it's a Zero 2, but it's not)
yifei@raspberrypi:~/curl-impersonate-v0.6.1.arm-linux-gnueabihf $ cat /proc/cpuinfo
processor	: 0
model name	: ARMv6-compatible processor rev 7 (v6l)
BogoMIPS	: 697.95
Features	: half thumb fastmult vfp edsp java tls
CPU implementer	: 0x41
CPU architecture: 7
CPU variant	: 0x0
CPU part	: 0xb76
CPU revision	: 7

Hardware	: BCM2835
Revision	: 9000c1
Serial		: 000000001c892f54
Model		: Raspberry Pi Zero W Rev 1.1

Maybe armv6l is too old to be supported.

Yeah, that matches my suspicion. There's a couple root causes I can think of:

Zig compiler is erroneously enabling NEON (should be fixable with CFLAGS)
BoringSSL is erroneously including NEON on all arm builds (a lot harder to fix)

I can take a look at the first item. If it turns out that the second one is the issue, then I might say it's too much hassle to support and we should just stick with armv7l and beyond.
Alternatively, we can try compiling with --mfloat-abi=soft and disable hardware acceleration altogether. If so, we might want to split out the arm builds into soft/hard and have armv6 pull down soft, armv7 pull down hard.

Testing Zig with the following code (courtesy of ChatGPT) implies that NEON is not enabled by the compiler. I see BoringSSL is doing some runtime CPU capability magic, might be possible to disable that with CFLAGS.

#include <stdio.h>

// Function to detect NEON support
int detectNEON() {
    #if defined(__ARM_NEON) || defined(__ARM_NEON__)
        return 1;
    #else
        return 0;
    #endif
}

int main() {
    if (detectNEON()) {
        printf("NEON instructions are enabled by the compiler.\n");
    } else {
        printf("NEON instructions are not enabled by the compiler.\n");
    }
    return 0;
}

Some time ago I got this same issue when compiling BoringSSL to arm-tizen*. BoringSSL is indeed enabling Neon for all arm builds by default.
At that time, I fixed this by compiling BoringSSL with -DOPENSSL_NO_ASM=OFF (CMake flag). Not sure if there is a better approach for this rather than disabling ASM entirely.

@Kartatz I did the same for the Windows build, still havn't got time to check whether it's the best approach. I left an issue as a reminder.

I've tried a bunch of stuff over on https://github.com/yifeikong/curl-impersonate/pull/49 but unfortunately the compiler still spits out three vld1.64 instructions. To my understanding, the BoringSSL assembly parts have been disabled, yet NEON code is still generated.
One such case is in this function:
https://github.com/google/boringssl/blob/d24a38200fef19150eef00cad35b138936c08767/ssl/extensions.cc#L3303
where the disassembly looks like:

001a0710 <_ZN4bssl31ssl_setup_extension_permutationEPNS_13SSL_HANDSHAKEE>:
  1a0710:       e92d48f0        push    {r4, r5, r6, r7, fp, lr}
  1a0714:       e24dd060        sub     sp, sp, #96     ; 0x60
  1a0718:       e1a04000        mov     r4, r0
  1a071c:       e5900004        ldr     r0, [r0, #4]
  1a0720:       e3a07001        mov     r7, #1
  1a0724:       e1d007b9        ldrh    r0, [r0, #121]  ; 0x79
  1a0728:       e3100b01        tst     r0, #1024       ; 0x400
  1a072c:       0a00002e        beq     1a07ec <_ZN4bssl31ssl_setup_extension_permutationEPNS_13SSL_HANDSHAKEE+0xdc>
  1a0730:       e1a0600d        mov     r6, sp
  1a0734:       e3a01060        mov     r1, #96 ; 0x60
  1a0738:       e1a00006        mov     r0, r6
  1a073c:       eb0121f4        bl      1e8f14 <RAND_bytes>
  1a0740:       e3a07000        mov     r7, #0
  1a0744:       e3500000        cmp     r0, #0
  1a0748:       0a000025        beq     1a07e4 <_ZN4bssl31ssl_setup_extension_permutationEPNS_13SSL_HANDSHAKEE+0xd4>
  1a074c:       e3a00000        mov     r0, #0
  1a0750:       eb02b8d6        bl      24eab0 <OPENSSL_free>
  1a0754:       e3a00019        mov     r0, #25
  1a0758:       eb02b8a8        bl      24ea00 <OPENSSL_malloc>
  1a075c:       e3500000        cmp     r0, #0
  1a0760:       0a00001f        beq     1a07e4 <_ZN4bssl31ssl_setup_extension_permutationEPNS_13SSL_HANDSHAKEE+0xd4>
  1a0764:       e1a05000        mov     r5, r0
  1a0768:       e28f0090        add     r0, pc, #144    ; 0x90
  1a076c:       f4600aef        vld1.64 {d16-d17}, [r0 :128]
  1a0770:       e3a00018        mov     r0, #24
  1a0774:       e3011110        movw    r1, #4368       ; 0x1110
  1a0778:       e286605c        add     r6, r6, #92     ; 0x5c
  1a077c:       e5c50018        strb    r0, [r5, #24]
  1a0780:       e3010514        movw    r0, #5396       ; 0x1514
  1a0784:       e3410716        movt    r0, #5910       ; 0x1716
  1a0788:       e3a07000        mov     r7, #0
  1a078c:       e5850014        str     r0, [r5, #20]
  1a0790:       e1a00005        mov     r0, r5
  1a0794:       f4400a0d        vst1.8  {d16-d17}, [r0]!
  1a0798:       e3411312        movt    r1, #4882       ; 0x1312
  1a079c:       e5801000        str     r1, [r0]
  1a07a0:       e7960107        ldr     r0, [r6, r7, lsl #2]
  1a07a4:       e2871019        add     r1, r7, #25
  1a07a8:       eb0438b7        bl      2aea8c <__aeabi_uidivmod>
  1a07ac:       e0852007        add     r2, r5, r7
  1a07b0:       e2477001        sub     r7, r7, #1
  1a07b4:       e7d50001        ldrb    r0, [r5, r1]
  1a07b8:       e3770018        cmn     r7, #24
  1a07bc:       e5d23018        ldrb    r3, [r2, #24]
  1a07c0:       e5c20018        strb    r0, [r2, #24]
  1a07c4:       e7c53001        strb    r3, [r5, r1]
  1a07c8:       1afffff4        bne     1a07a0 <_ZN4bssl31ssl_setup_extension_permutationEPNS_13SSL_HANDSHAKEE+0x90>
  1a07cc:       e5940220        ldr     r0, [r4, #544]  ; 0x220
  1a07d0:       eb02b8b6        bl      24eab0 <OPENSSL_free>
  1a07d4:       e3a00019        mov     r0, #25
  1a07d8:       e3a07001        mov     r7, #1
  1a07dc:       e5845220        str     r5, [r4, #544]  ; 0x220
  1a07e0:       e5840224        str     r0, [r4, #548]  ; 0x224
  1a07e4:       e3a00000        mov     r0, #0
  1a07e8:       eb02b8b0        bl      24eab0 <OPENSSL_free>
  1a07ec:       e1a00007        mov     r0, r7
  1a07f0:       e28dd060        add     sp, sp, #96     ; 0x60
  1a07f4:       e8bd88f0        pop     {r4, r5, r6, r7, fp, pc}
  1a07f8:       e320f000        nop     {0}
  1a07fc:       e320f000        nop     {0}
  1a0800:       03020100        .word   0x03020100
  1a0804:       07060504        .word   0x07060504
  1a0808:       0b0a0908        .word   0x0b0a0908
  1a080c:       0f0e0d0c        .word   0x0f0e0d0c

This looks to me like some loop is getting vectorized, since there's no clear crypto calls being made in this section. However, attempting to disable compiler vectorization with Clang's flags hasn't made a difference.
My hunch is that there's probably some bug in the Zig compiler that's still producing NEON instructions even with multiple attempts to disable it. I might be able to poke around at the compiler code sometime later to see if there's a root cause, but for now I suggest we drop armv6 until further notice.

Looks like I spoke too soon. Propagating the -mcpu flag directly down to Zig seems to work, instead of going through CFLAGS. I was able to get a build that runs without the illegal instruction error on my Raspberry Pi 1. Perhaps something (maybe cmake?) in the layers of build toolchains messed things up.

Also appears that keeping BoringSSL's assembly and CPU feature detection in the build works as well, so we should still be able to build one distribution for both armv6 and armv7.

I see wheels at https://www.piwheels.org/project/curl-cffi/ built was successful. Can you verify these wheels works as expected?

The build on piwheels works for me.


text:
做了个chatgpt-api的proxy在config.json里应该怎么填？

按照项目https://github.com/x-dr/chatgptProxyAPI，自己通过CF搭了一个api的proxy，那么在config.json里是不是可以不配置代理的http，而把api的地址给改成自己的？具体应该怎么设置？

有同样的问题，是proxy这个参数吗？

是 api_base

authors: Ya-chunJen frostming huomqh


text:
Composer RuntimeException when running yii3 app template in server, not from ./yii serve

What steps will reproduce the problem?
If you setup app template as a vhost and run in apache server, not as ./yii server, with composer installed locally on machine, getting RuntimeException.
What is the expected result?
index page of Yii3 app template
What do you get instead?
Fatal error: Uncaught RuntimeException: The HOME or COMPOSER_HOME environment variable must be set for composer to run correctly in /srv/www/vhosts/yii3app/vendor/composer/composer/src/Composer/Factory.php:648 Stack trace:
#0 /srv/www/vhosts/yii3app/vendor/composer/composer/src/Composer/Factory.php(69): Composer\Factory::getUserDir()
#1 /srv/www/vhosts/yii3app/vendor/composer/composer/src/Composer/Factory.php(160): Composer\Factory::getHomeDir()
#2 /srv/www/vhosts/yii3app/vendor/composer/composer/src/Composer/Factory.php(303): Composer\Factory::createConfig(Object(Composer\IO\ConsoleIO), '/srv/www/vhosts...')
#3 /srv/www/vhosts/yii3app/vendor/yiisoft/composer-config-plugin/src/Plugin.php(76): Composer\Factory->createComposer(Object(Composer\IO\ConsoleIO), Array, true, '/srv/www/vhosts...', false)
#4 /srv/www/vhosts/yii3app/vendor/yiisoft/composer-config-plugin/src/Builder.php(71): Yiisoft\Composer\Config\Plugin::buildAllConfigs('/srv/www/vhosts...')
#5 /srv/www/vhosts/yii3app/public/index.php(33): Yiisoft\Composer\Config\ in /srv/www/vhosts/yii3app/vendor/composer/composer/src/Composer/Factory.php on line 648
Additional info
Obviously, Composer cant find HOME or COMPOSER_HOME Env variable, as there is no such env, setted globally for all processes.
setting it in /public/index.php as : putenv("COMPOSER_HOME=$HOME/.config/composer") solve the issue

Q
A

Version
1.0.?

PHP version
7.4.7

Operating system
Linux

https://github.com/yiisoft/composer-config-plugin/pull/88

authors: samdark wiperawa

repo: yiisoft/app


text:
Documentation

I think It's better to have more documentation in this package.
I know there is enough phpdoc in file. by the way always people look for references

Alright.

authors: mamadza samdark

repo: yiisoft/strings


text:
Add SQL function and type support to Query

Function and type support is related
$results = (new Query())
    ->selectType('schema.mySqlType')
    ->fromFunction('schema.funcname', $param1, $param2, $param3)
    ->where(['myType_field1', 'xyz'])->all();

More secure than raw SQL, we can then 'bind' function parameters. Already caching column metadata anyway so we can also look up e.g. pg_type and pg_proc for postgres to get this info, plus a function to convert from type metadata to a sane PHP type which we already do with base types.

Good idea.

Can be achieved somehow like this:
new \yii\db\Expression('function_name(:param, :param1)', [
    ':param' => 'love',
    ':param1' => 'Yii'
]);

authors: SilverFire darvids0n samdark


text:
action's controller phpdoc suggestion

This is a sequel to #6518.
Currently (v2.0.12) here is the type hint for $controller field in \yii\base\Action:
    /**
     * @var Controller|\yii\web\Controller the controller that owns this action
     */
    public $controller;

So it hints for generic properties and web properties, but does not for console properties (I personally found it by my phpstorm yelling at me for $this->controler->stdout()).
I don't know how to fix this wisely. We can add every other base controller (console and rest) to the typehint, but it may seem a bit ugly. We also can create \yii\console\Action which will have that typehint overridden, but it also isn't perfect.
Anyway, the current state is quite inconsistent.

We can add console controller to the list, I guess.

as you wish
done in #14889


text:
Twig tag cannot get resolved inside nav_widget tag

Code is as below:
{{ nav_widget({
'options': {
'class': 'navbar-nav navbar-right',
},
'items': [
{ 'label': "Welcome, {{ app.user.identity.username }}", 'items': [ { 'label': 'Logout', 'url': '/site/logout', 'linkOptions': { 'data-method': 'post' } } ] }
]
}) }}
If the logged in username is 'James', but what displayed on web is still {{ app.user.identity.username }}. Thus the twig tag {{ app.user.identity.username }} is not resolved in such case.
Any suggestion?

Use "Welcome, " ~ app.user.identity.username. See doc http://twig.sensiolabs.org/doc/templates.html#other-operators


text:
fix guide-ru rest-resources

Some changes - text is compared to code at example below

Q
A

Is bugfix?
yes/no

New feature?
no

Breaks BC?
no

Is it an issue in Russian version only or English is wrong as well?

@samdark I think this problem is only a translation problem.
"
The array keys are the field names, and the array values are the corresponding field definitions which can be either property/attribute names or anonymous functions returning the corresponding field values. In the special case when a field name is the same as its defining attribute name, you can omit the array key.
"
It seems to me that it directly write that the "key" is omitted in the context of the "array key"

Merged. Thank you!

source: gharchive/pull-request

authors: bscheshirwork samdark


text:
throw exception

Q
A

Is bugfix?
yes

New feature?
no

Breaks BC?
no

Tests pass?
yes

Fixed issues
#16626

This will break existing applications for no valid reason. So far keys were ignored, so you could pass associative array and as long order was correct (and you're not relying on typecasting), everything was fine. After this PR, old code (which works correctly) will start throwing exception - IMO it is pointless BC break and annoying limitation. If typecasting was a problem, then fix typecasting, there is no need to break existing code.

@rob006 were there any valid reasons for using associative arrays?

Readability (especially if you use array_keys(current($values)) to get column names).
You may already have associative array from external source (API, SQL query) and there is no valid reason to iterate trough whole array and call array_values() to remove keys.

Right. Indeed, that could break things and isn't clearly fixing a bug. @GHopperMSK thank you for preparing the pull request and starting discussion but it seems we won't merge it.

@SamMousa would like to get your opinion as well.

It's a bit unclear to me, my original issue is about the fact that associative arrays will result in unexpected behavior. I suggest there we throw an exception for associative arrays to make execution more explicit.
Obviously this will always break BC and break code that is currently working.
Seeing as we're no longer doing new features in Yii2 I'd suggest we move this to 3.0 instead, where we can freely break BC. We could simply implement 2 functions there:
batchInsertAssociative
batchInsertIndexed
That way it's clear and since it's 3.0 we don't break existing code.

In Yii 3 we could just support associative arrays and don't ignore keys. For non-associative arrays it will work as before, but for associative arrays you would need also define column-value map in $columns.
$x->batchInsert('table1', ['a' => 'a', 'b' => 'somecolumn'], [['b' => 123, 'a' => 345]]);

result:
insert into `table1` (`a`, `somecolumn`) values (345, 123);

But this will return error (since there is no 0 and 1 keys in $rows items):
$x->batchInsert('table1', ['a', 'b'], [['b' => 123, 'a' => 345]]);

which is basically the same as:
$x->batchInsert('table1', [0 => 'a', 1 => 'b'], [['b' => 123, 'a' => 345]]);

It should fix #16626 and provide some flexibility to support also associative arrays (without introducing additional methods). It should also fail early if number of columns in $rows does not match number of columns in $columns (AFAIK now it just generates and executes incorrect query).

I don't think we should do both in  one function. 2 functions means easier to use, easier to test easier to comprehend.

authors: GHopperMSK SamMousa rob006 samdark


text:
Fix #17755: the bug of Request class

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

Tests pass?
✔

Fixed issues
#17755

i have lauched another pull request.


text:
Add compatibility PHP 8.3.

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

Awesome. Thanks!

@samdark hi, when is 2.0.50 release to be expected. Thank you.

authors: samdark smartycoder terabytesoftw


text:
demo.py运行错误

您好！我最近在尝试复现您的cnn_facial_landmark工作，根据您cnn_facial_landmark项目中的源码训练了模型，后来找到butterfly项目中的demo.py是推演模型的程序。
根据要求，我用tensorflow官方提供的freeze_graph.py文件对cnn_facial_landmark保存的模型(savedmodel.pb)进行了固化，生成的freeze_graphy.pb文件查看其结构得到下面的表
butterfly/encoded_image_string_tensor
butterfly/map/Shape
butterfly/map/strided_slice/stack
butterfly/map/strided_slice/stack_1
...
butterfly/layer6/logits/bias/read
butterfly/layer6/logits/MatMul
butterfly/layer6/logits/BiasAdd

于是我认为input_node是butterfly/encoded_image_string_tensor，output_node是butterfly/layer6/logits/BiasAdd，但将其作为参数输入，试图在一个视频中运行时出现了错误：
ValueError: Cannot feed value of shape (1, 360, 640, 3) for Tensor 'butterfly/encoded_image_string_tensor:0', which has shape '(?,)'
我认为这可能是在模型固化那一步出现的问题，尝试用model.ckpt等文件来重新获得固化模型，结果与pb文件获得模型结构有差别，但在运行demo.py时也出现了基本一样的错误
请问问题出在哪里，该如何解决？

这里的输入从名字上看是base64编码的图像文件，所以shape是“（？，）”。
训练代码提供的导出选项有参数来指定input格式是raw_tensor，检查一下。
如果可能的话尽量使用keras分支训练，更简单。

您好，将raw_tensor的参数修改为True之后顺利运行了。对于128128尺寸输入的图片也有很好的标注效果，但是对于非128128输入的图片，标注点多少存在一点偏移，请问这个应该怎么解决呢？

authors: fanofpal yinguobing

repo: yinguobing/butterfly


text:
Opencv version for video IO

I have Opencv version "3.4.0" and given  model in build_all.sh is "2.4.13".
Do I need to install 2.4.13 or 3.4.0 is suffice for video IO?

Just use build_all.sh. It won't use your system installed OpenCV.

repo: yjxiong/temporal-segment-networks


text:
generic handling for "sensor" types

@ogiewon, can I get your eyes on this change before submitting, since I haven't tested it for functionality?

I am testing your updated version now...  @stephack and I were discussing making the exact same change earlier.  I'll let you now how it goes.

I am testing your updated version now... @stephack and I were discussing making the exact same change earlier. I'll let you now how it goes.

I found a bug (which I assume that you already found and fixed).  I committed the change to my dev branch.

@tomwpublic - I am seeing some issue with temperature and humidity devices throwing errors in my HE logs.  Do you mind if I take a stab at refactoring some of the code to hopefully simplify it, and make it much more straightforward to add new sensor-type devices?  It may take me a few hours to get things sorted and tested, but I believe it will simplify the overall design greatly.  Thoughts?

Do you mind if I take a stab at refactoring some of the code to hopefully simplify it, and make it much more straightforward to add new sensor-type devices?

Sure thing.  For reference, I stubbed out two drivers outside of the "hubitat" namespace until (if?) this request is fulfilled: https://community.hubitat.com/t/a-word-about-ha-he-integration/63754/58
I thought those might be useful during your refactor in case drivers from other namespaces might be needed in the future.

I have updated the Parent with my latest refactored version, which supersedes this PR.

authors: ogiewon tomwpublic

repo: ymerj/HE-HA-control


text:
Blender: Fix pointcache family and fix alembic extractor

Changelog Description
Fixed pointcache family and fixed behaviour of the alembic extractor.
Additional info
The pointcache family was implemented in an old way. This PR changes the creator for pointcache family to be compatible with the alembic extractor.
The alembic extractor has also been changed to be mandatory for the pointcache family, but optional for models. The extraction of models as alembic is now active by default.
Testing notes:
For the fix to pointcache family:

Try creating a new pointcache instance.
Try to publish it.

For the changed alembic extractor for models:

Try publish a (new or already existing) model.
There is a new extractor "Extract Model ABC". It should be active by default, optional and if active, it should publish the model as alembic.

Testing the model and extract ABC
The publishing for model family works well, it also produces new upversioned workfile after publish happened.
Here I have loaded both repre, native Blend and Abc

Pls. again note the difference between correct model asset hiearchy in Outliner window and incorrect Abc one (the second one from top)
Seems like for both pointcache and model in abc we have incorrect hiearchy present... need to be addressed

Issue 2 - when Load the pointcache asset into new scene there is broken hiearchy of the asset, obviously there is a new top most locator added but also breaking the original top locator so the actual mesh is no longer child of that locator comming with asset (I guess that locator got produced during publishing)

I had this same issue when loading Alembics into Blender (on develop branch) - we should definitely fix that if it's still present. The geometry should remain in the hierarchy of the alembic file itself. Tested in Blender 3.6 myself.

Issue 2 - when Load the pointcache asset into new scene there is broken hiearchy of the asset, obviously there is a new top most locator added but also breaking the original top locator so the actual mesh is no longer child of that locator comming with asset (I guess that locator got produced during publishing)

I had this same issue when loading Alembics into Blender (on develop branch) - we should definitely fix that if it's still present. The geometry should remain in the hierarchy of the alembic file itself. Tested in Blender 3.6 myself.

It should be fixed with the latest commit! Or you tried with that and it still isn't working?

@BigRoy It should be fixed with the latest commit! Or you tried with that and it still isn't working?

I didn't try that commit yet, no. :) Hopefully later today.

@BigRoy It should be fixed with the latest commit! Or you tried with that and it still isn't working?

I didn't try that commit yet, no. :) Hopefully later today.

I have tried in my side. It somehow errors out....my blender is even elder( 3.3.6)

Traceback (most recent call last):
  File "D:\kayla\OpenPype\openpype\hosts\blender\api\ops.py", line 105, in execute
    result = callback(*args, **kwargs)

  File "D:\kayla\OpenPype\openpype\hosts\blender\api\plugin.py", line 259, in _load
    nodes = self.process_asset(

  File "D:\kayla\OpenPype\openpype\hosts\blender\plugins\load\load_abc.py", line 156, in process_asset
    objects = self._process(libpath, asset_group, group_name)

  File "D:\kayla\OpenPype\openpype\hosts\blender\plugins\load\load_abc.py", line 72, in _process
    assert container, "No asset group found"

AssertionError: No asset group found

@moonyuet I think I've fixed it! Can you try again?

@moonyuet I think I've fixed it! Can you try again?

This seems to be fixed in the animation family. But I am not sure about hierarchies. I think @LiborBatek can do more decent tests.

After further examination it seems that
Producing asset separately (one instance at the time) all works for all types and correctly produces data.
Been tested on model (both repre Blend and Abc), BlendScene, pointcache are all working fine then.
Seems like we have issue during Publish when multiple instance type present in the work file... if just single product type instance present, all working as expected.

@LiborBatek did you try to publish the same asset in multiple instances? If that's the case, you cannot do that sadly... That's a limitation of the Blender's objects, they can have only one parent, so an object cannot be a child of multiple instances.

@LiborBatek did you try to publish the same asset in multiple instances? If that's the case, you cannot do that sadly... That's a limitation of the Blender's objects, they can have only one parent, so an object cannot be a child of multiple instances.

Ahh, yeah that was the case....so then we need to tackle that somehow
Opt.1 Warn user when validating that asset cannot be in multiple instances
Opt.2 To find a way how to do that (be able to produce multiple products from the same asset data)
I guess we have to go for opt.1 for now (time wise) even tho I see this as huge drawback.

So it works for single instance type ok but when producing multiple types it behaves still the same and misses data when loaded.

@simonebarbieri Do you plan to add validator for the data being just in single publish instance? or? because right now still user wont be aware only single instance being allowed for publishing at a time! Causing confusion why there arent any data produced when loading multiple instance types aka representations.

@BigRoy Im really in when speaking of integrating blender Collections as much as we can.
But seeing your examples...how would u treat a case when producing asset consisting of multiple items or any similar there is a strong need of maintaining top root transforms I guess.
Any idea how to treat it? Note that blender doesnt have any sort of Groups with transforms...which sucks big time!

@simonebarbieri any proposal on that issue with multiple publishes in the source work file and how to treat that occasion? How about that Validator warning user that this not being possible? If no chance to make that multi publish happen...

But seeing your examples...how would u treat a case when producing asset consisting of multiple items or any similar there is a strong need of maintaining top root transforms I guess.

As far as I could tell Blender Collections behave exactly like maya object sets - so I'd basically mimic the maya workflow.

Any idea how to treat it? Note that blender doesnt have any sort of Groups with transforms...which sucks big time!

As far as I can tell the "Empty" (Plain Axes) is the equivalent to a Maya group - except for showing the plain axes display handle. So I guess hierarchies would be build using Empties and that is the Blender way to do so.
If I export a hierarchy from Maya to Blender using Alembic it also generates these empties.
If I export these empties from Blender to Alembic and import in Maya they are also empty groups.
So empties work fine - are basically equivalent to Maya groups and are actually groups in Alembic exports.
The same is the case when exporting/import USD files between Maya and Blender - the groups come and in as empties to blender and export to maya as empties. They are not considered to be locators.
How one would export actual locators from Blender I don't know - but empties == groups as far as I can tell.

@BigRoy yeah, I agree on what u said
so in the end the only issue being to not create those locators automatically always by OP but let user to decide by creating those manually if preffered in the particular case (asset build).
This being the only difference in your proposal to what we currently have

@LiborBatek @BigRoy I think it would be better if we move the discussion on handling instances in the forum and we can work on that in another PR. It is kinda unrelated to this, and if it works we can merge it :)

I would just go with the same locator type now those being different... both should use that Single Arrow type imho this also being true for pointcache family

@LiborBatek done!

authors: BigRoy LiborBatek moonyuet simonebarbieri

repo: ynput/OpenPype


text:
Fix USD OutputProcessor errors on USD export in Houdini 20.5+

Changelog Description

Fix beginSave arguments for Houdini 20.5.182+ with added stage_variables argument to OutputProcessor.beginSave method
Additional info

Fixes #53
I tested in Houdini 20.5.278 and 20.0.724; worked for me in both.
Testing notes:

Publish a USD instance from Houdini
No error pop-up should show in Houdini 20.5+ (nor should an error occur in older versions)

No error in 19.5.773

authors: BigRoy moonyuet

repo: ynput/ayon-houdini


text:
No normalization of add/remove/toggle in IE10 and IE11

This is a bug carried over from the eligrey/classList.js repository. Here's a good summary of the issue: https://github.com/eligrey/classList.js/issues/44

This should be fixed: https://github.com/eligrey/classList.js/pull/57
And is published: https://github.com/yola/classlist-polyfill/releases/tag/1.2.0

authors: beck mhubenthal

repo: yola/classlist-polyfill

license: unlicense

license_source: bigquery


text:
프로젝트 삭제 실패 문제

안녕하세요.
현재 1.8.0 버전을 사용중인데, 특정 프로젝트가 삭제되지 않는 문제가 있습니다.
들은바로는,
이슈를 다른 프로젝트로 옮기고 삭제하려고했더니 오류가 발생했다고 뜬다고 하는데..
repo.yona.io 에서 테스트해보니 이 문제는 아닌듯합니다.
현 상황은,
프로젝트 생성한 아이디로 프로젝트 삭제를 시도하면, 프로젝트를 삭제하는 중에 오류가 발생했습니다. 라고 팝업이 뜹니다.,
관리자계정으로 로그인해서 프로젝트 삭제를 시도해봐도 동일합니다.
관리자 계정으로 로그인 뒤 사이트 관리-프로젝트 탭에서 해당 프로젝트를 삭제하려고하면, 삭제 버튼이 클릭되지 않습니다. 이건 모든 프로젝트가 다 그런거보니 버그인거같네요.
그래서,
서버에서 해당 프로젝트.git 폴더와 db 관련 row를 직접 삭제하려고하는데,
project 테이블에서만 삭제하니 해당 사용자계정으로 로그인시 비정상동작하더라구요.
강제로 다시 원래대로 입력했더니 돌아왔는데 프로젝트를 지울 수 없는건 여전합니다.
어떻게해야 db 테이블에서 프로젝트를 강제 삭제 할 수 있을까요?

@dinobei

우선 v1.8.1로 업그레이드 후 테스트를 해 봐주세요
프로젝트를 삭제 할때 서버 로그를 첨부해 주실 수 있을까요?
DB를 직접 건드리는건 저도 잘 하지 않는 작업이라 추천드리고 싶지 않습니다.

@doortts
옮겼던 이슈를 다시 원래 프로젝트로 옮긴 후에 삭제를 시도하니 삭제되었다고합니다.
문제 발생했을 때 서버로그 캡쳐는 해놨었는데, 실수로 전부 삭제를 해서 현재 첨부가 어렵네요..

우선 이슈를 닫고 문제가 생기면 다시 열도록 하겠습니다.

이슈 관련내용 맞을 것으로 생각됩니다. (단순하게 이슈라기 보다는..  이슈라벨 관련으로 추측?)
과거에 다른 분이 비슷한 상황을 겪고 계시길래..  에러로그를 본 적이 있었는데..
프로젝트 제거시, issue_label 테이블의 내용 지울때.. Foreign Key constraint fails 상황 저도 두세번 보긴했습니다. 그냥 FOREIGN_CHECK 끄고 해당필드들만 지운다음에 프로젝트 지우기 다시 실행해서 넘어갔던 기억이...

authors: cpascal dinobei doortts

repo: yona-projects/yona


text:
Folder references at the root of the project

Hi:
I have been looking to add a folder as folder reference in the root of my project. I have seen this is possible with source files, but could not find the way to do the same for the root of the project. Like fileGroups, but use folder references instead of groups. Is there a way?
Thanks,
Andres

This currently isn't possible. Could you share a use case for this? As the directory isn't part of a build phase it wouldn't really matter if it was a group or a folder reference right? Only that a folder reference would lead to a lighter project, and would generate more quickly

My main interest for this is that a folder reference updates its contents automatically when there are any changes in the disk. So, for example, say I have a scripts folder that I want added to the project:

With groups, when adding a new script inside the folder, I have to regenerate the project to see it in the project.
With folder references, when adding a new script inside the folder, it automatically appears in the project without regenerating.

@yonaskolb Any progress on this request? Just checking.

@yonaskolb Any progress on this request? Just checking.

+1 to that.
Example use case: adding playground to the root of the project under a "Playgrounds" folder.

For us the use case is that we want to add things like CI scripts to the project so they are easily editable from within Xcode, but as they are not actually strongly tied to the project itself, it is awkward to have to regenerate the project if you change any of them from elsewhere.
If anything, it makes more sense for things that are not part of any project to be folder references. Since they are not part of the build, having to update the project to keep them up to date is a bit weird.

authors: 1ucas DagAgren acecilia dogo yonaskolb

repo: yonaskolb/XcodeGen

license: mit


text:
Added new faq about Crashlytics(#633)

This PR add new FAQ about Crashlytics to run it's script after pods script
#633

@brentleyjones
Thank you for your checking! I fixed them.


text:
怎么向群发消息

没有找到相关的文档或者demo

bot=Bot()
groups=bot.groups().search("criteria goes here")
for group in groups
group.send(''message goes here")
On Thu, Jul 20, 2017 at 5:40 PM, huobaiyu notifications@github.com wrote:

没有找到相关的文档或者demo
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/youfou/wxpy/issues/121, or mute the thread
https://github.com/notifications/unsubscribe-auth/AOHG-rVlZ2TX0WnGXMHVjbuqczuf9zLOks5sPyCggaJpZM4Od2M2
.

authors: aaronliruns huobaiyu

repo: youfou/wxpy


text:
Message are sent out successfully but then raise exeception "KeyError: 'self'"

Using python3.5, and in Linux ENV.
In [43]: my_wife.send("test")
Out[43]: <ItchatReturnValue: {'MsgID': '8287475435897459665', 'LocalID': '14904491571103', 'BaseResponse': {'RawMsg': '请求成功', 'Ret': 0, 'ErrMsg': '请求成功'}}>
In [44]: Traceback (most recent call last):
File "/home/mint/.local/lib/python3.5/site-packages/itchat/components/login.py", line 240, in maintain_loop
msgList = produce_msg(self, msgList)
File "/home/mint/.local/lib/python3.5/site-packages/itchat/components/messages.py", line 61, in produce_msg
produce_group_chat(core, m)
File "/home/mint/.local/lib/python3.5/site-packages/itchat/components/messages.py", line 250, in produce_group_chat
atFlag = '@' + (chatroom['self']['DisplayName']
KeyError: 'self'

这个问题还在定位中，不过似乎并不影响使用…
话说现在仍然存在这个问题吗？
我这里原来也遇到过，不过现在无法重现了……

@slxiao itchat 的作者找到了问题，已经更新了版本，请在更新itchat后再试试，看还会不会遇到这个问题
pip3 install -U itchat

authors: slxiao youfou


text:
Ureport在+分组+右侧求和+合并单元格

为了您的问题能得到及时准确解答，请认真填写下面各个选项，感谢您的配合。

当前使用的UReport的具体版本号：

2.2.9

遇到的问题描述：

UReport2在右侧求和，这种报表怎么实现呢？
具体就是知道A列的几个值，求他们的和，但要展示在B列，且单元格要合并。

相关截图：

请问找到解决方法了吗？

demo.zip
主要看B2和D2的左父格

这里没有直接给出答案，我在查询多个issues 后才得出的结果，希望给有需要的人以帮助，要让与分组同级别的序号或右侧合计合并， 需要保证这些列都是父格，就是说要合并格必需有子格。比如有分组序号、分组、分组右侧合计三列，则可以设置 分组序号左格为分组，合计左格为序号，最后组内子格左格设置为 合计格，就可以对分组同级的单元格都合并。 另外需要注意过滤条件，组内子格不直接设置左格为分组格时要加上对应分组的过滤条件。另外我也是新手我不确定是否有其他问题。

这里没有直接给出答案，我在查询多个issues 后才得出的结果，希望给有需要的人以帮助，要让与分组同级别的序号或右侧合计合并， 需要保证这些列都是父格，就是说要合并格必需有子格。比如有分组序号、分组、分组右侧合计三列，则可以设置 分组序号左格为分组，合计左格为序号，最后组内子格左格设置为 合计格，就可以对分组同级的单元格都合并。 另外需要注意过滤条件，组内子格不直接设置左格为分组格时要加上对应分组的过滤条件。另外我也是新手我不确定是否有其他问题。

兄弟有用,很厉害/我再总结下:
比如有a,b,c,d这四列,想合并d,需要把d的左父设置为a,然后把b的左父设置为d就行了,核心就是合并格必需有子格
从哪开始分组的,就从哪开始设置左父

authors: bajins longxiangam windynet wodepig

repo: youseries/ureport


text:
指示器不显示

banner 的指示器可以在 xml 文件中设置（建议看下文档，里面有）
代码如下：
<com.youth.banner.Banner
android:layout_width="match_parent"
android:layout_height="160dp"
app:indicator_width="10dp"
app:indicator_height="2dp"
app:indicator_margin="5dp"
app:indicator_drawable_selected="@drawable/banner_indicator_selected"
app:indicator_drawable_unselected="@drawable/banner_indicator_unselected"/>

我还以为是默认的

谢谢

authors: ZakLiml dlgchg


text:
examples: Remove *_protocol flags from the examples.

The code defaults to "grpc" for all flags now. Therefore, there's no
point in setting it explicitly to "grpc" anymore.
Only test code is still setting the flag. Verified with:
$ ack-grep -- "-[-a-zA-Z0-9_]+_protocol"
@enisoc @alainjobart

This change is

LGTM

authors: enisoc michael-berlin

repo: youtube/vitess


text:
Couple small fixes.

They were detected by internal tools:

missing package comment in go/vt/topo.
discarding a cancel() function for a context.

Also fixing a small consul topo bug: released locks should remove their file.
And updating the topo doc, re-publishing the site.

LGTM
Do these fixes close any existing bugs?

authors: alainjobart sougou


text:
匹配规则集匹配优先级不确定问题

让各位大佬受惊了，是这样的：
我建了一个规则集，里面一堆规则，有些是针对某个业务接口的，有的是对根路径匹配进行反向代理。
当把根路径放到第一位匹配时，页面能加载出来，但接口是404，这个容易理解，毕竟他把业务请求也拦截了，导致404.....
问题是，我把业务域名放到第一位优先匹配，页面却加载不出来了。我自测了规则，此时主页的网址业务规则是不能匹配的，难道他不应该返回主页让第二个规则继续匹配吗？
实际上，他却返回了规则一的转发地址（首页打不开了），这个是Bug了？  还是有其他操作，如下图所示，还望知道的大佬招呼一声，感谢！

这个最终路径，不应该是请求url才对么，这样继续往下匹配，就ok.....事与愿违...

匹配规则测试只是当前规则的匹配测试，不会使用其他的规则；至于主页打不开可能是规则配的有问题

@kainstar 前半句没毛病。“至于主页打不开可能是规则配的有问题” -- 这个不是的，主页的匹配规则没问题，现在是优先级的问题。第一匹配不了，现在不继续匹配第二规则，就有问题了吧....

authors: kainstar tangkunyin

repo: youzan/zan-proxy


text:
renumber footnotes

If I have a footnote [^a], it gets rendered by GFM as [1] — not [a].
I should accordingly canonicalize the footnotes on output, so that they look like the text they'll eventually become.
This should be an option, defaulting to on.

Testing the interaction of footnotes and link references:

[Hello][1], world[^1] [^3] [^shortcut] [^collapsed][].

[1]: https://example.com
[^1]: This is my footnote text.
[^3]: My second footnote text.
[^shortcut]: My shortcut footnote text.
[^collapsed]: My collapsed footnote text

results in:

Hello, world[^1] [^3] [^shortcut] [^collapsed][].
[^1]: This is my footnote text.
[^3]: My second footnote text.
[^shortcut]: My shortcut footnote text.
[^collapsed]: My collapsed footnote text

So it looks like:

links and footnotes are in different namespaces
shortcut footnotes work
collapsed footnotes are treated as shortcut (with an additional [] as just plain text)
GitHub's rendering renumbers all footnotes

repo: yshavit/mdq


text:
Consider to make more simple API for extracting comments into separate human readable json file

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm requesting a feature unrelated to a specific site
[X] I've looked through the README
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Provide a description that is worded well enough to be understood
As of now, to extract comments into separate json file need to use quite long complicated command like:
yt-dlp --write-comments --print-to-file "after_filter:%(comments)j" "comments.json" --parse-meta "video::(?P<comments>)" -- VIDEO_URL_OR_ID

To read generated comments, comments.json file needs to be transformed to human readable format with the command like:
cat comments.json | jq | less

or converted, for example, to HTML format.
As a result, current API for extracting and reading comments is quite complicated. It will be good to make it more simple, more user friendly.
For example, probably need to add some new parameter that will cover all this cases: to extract comments into some separate human readable file. Now comments.json file is not human readable because it:

Does not have formatting (it all in one line)
Contains encoded not readable non ASCII characters.

Please, consider to make such API enhancement.
Related request:

[Youtube] Add extra option(s) so that --write-comments only downloads the top few comments, and saves to a separate file · Issue #5466 · yt-dlp/yt-dlp
Ability to write comments in HTML format · Issue #9040 · yt-dlp/yt-dlp
download comments into separate comments.json file · Issue #2372 · yt-dlp/yt-dlp
Consider to make default sorting for comments youtube extractor by "top", not by "new" as default in YouTube UI · Issue #10381 · yt-dlp/yt-dlp

Provide verbose output that clearly demonstrates the problem

[ ] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[ ] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
No response

To read generated comments, comments.json file needs to be transformed to human readable format with the command like:

You can print "human-readable" JSON directly from yt-dlp by adding a # before the j, e.g.
--print-to-file "after_filter:%(comments)#j"

As a result, current API for extracting and reading comments is quite complicated.

Not really. The --print-to-file arg above is all you need if you want comments as pretty-printed JSON in a separate JSON file. Sure, it gets slightly complicated if you want to remove the comments from the primary infojson file. But this is to be expected: the more specific your needs are, the more complex your configuration will become. yt-dlp already has these capabilities.

or converted, for example, to HTML format.

This is out-of-scope for yt-dlp. There are external scripts that can do this for you.

@bashonly

You can print "human-readable" JSON directly from yt-dlp by adding a # before the j
# gives better result than "one-line" string but still it is not "human-readable" since it is contains encoded comments like:

[
    {
        "id": "UgywbYAO72WyzfoYhPd4AaABAg",
        "parent": "root",
        "text": "\u0412 \u0441\u043e\u0432\u0440\...
    }
]

If comments are written to info.json then they are in normal text (decoded) but in one-line.
Let's will be call a json file as "human readable" if it meets both conditions:

Have pretty json formatting (not in one-line)
Contains decoded (readable) non-ASCII characters.

In this sense now neither info.json and comments.json created based on "after_filter:%(comments)#j" are "human-readable".
Also using "after_filter:%(comments)#j" behaves differently than writing comments to info.json. Consider case when you want to update all comments for all specified videos. When writing to info.json this case is working normally. All info.json files for all the videos will be updated (re-written). But when using "after_filter:%(comments)#j" re-downloaded comments will be appended to previous ones.
To update them need to specify command for explicit removal of previous files like this:
yt-dlp test:youtube --skip-download --get-comments --exec pre_process:"del %(id)s.comments.json" --print-to-file "%(comments)j" "%(id)s.comments.json" --exec "type %(id)s.comments.json"

Found this here: download comments into separate comments.json file · Issue #2372 · yt-dlp/yt-dlp
But this command gives error if comments.json file is not exist (for case when comments are downloading the first time)

Question:
What command now I can use to re-download human-readable comments that is:

Placed in separate file
Will not be duplicated in info.json file
?

As I understand needed: 1) somehow to silence error comments.json does not exist when there is attempt to delete it for re-downloading comments, 2) somehow to post-process comments.json that it will be truly "human-readable" (to decode them with jq). Could you help to come up with command for this?

But this is to be expected: the more specific your needs are, the more complex your configuration will become.
I think this get comments use case is very general for yt-dlp like get video or get video description use cases. This is not some "specific needs".

Also it will be good to consider option for getting only comments (without another video metadata) because now if --write-comments is specified info.json is also created as if --write-info-json option is also specified. (Although there is some difference in info.json result files when --write-info-json  option is specified explicitly.)
Based on all described here as I see API for getting comments now is not simple at all.

yt-dlp is primarily a media downloader, not a metadata downloader. Comprehensive metadata/comments extraction is a bonus feature. A feature such as converting comments to HTML is out-of-scope for this project. There's not much more to say about this.

authors: AntonSamokat bashonly

repo: yt-dlp/yt-dlp

license: Unlicense


text:
--live-from-start didn't merge after live stream end.

Checklist

[X] I'm reporting a bug unrelated to a specific site
[X] I've verified that I'm running yt-dlp version 2021.12.27. (update instructions)
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Description
I use yt-dlp -o "[%(upload_date)s]%(title)s-%(id)s.%(ext)s" --live-from-start --write-thumbnail --write-description --write-info-json --ignore-no-format "https://www.youtube.com/watch?v=videoID" to download Dji-ehIz5_k and Z3tKCt3PbOg.
It works well in the start but when the live stream end, it retry the next second and return ERROR: Did not get any data blocks.
In the end show ERROR: unable to download video data: [Errno 2] No such file or directory: then end the program, and didn't merge two file.
Verbose log
yt-dlp -Uv -o "[%(upload_date)s]%(title)s-%(id)s.%(ext)s" --live-from-start --write-thumbnail --write-description --write-info-json --ignore-no-format "https://www.youtube.com/watch?v=Dji-ehIz5_k"
[debug] Command-line config: ['-Uv', '-o', '[%(upload_date)s]%(title)s-%(id)s.%(ext)s', '--live-from-start', '--write-thumbnail', '--write-description', '--write-info-json', '--ignore-no-format', 'https://www.youtube.com/watch?v=Dji-ehIz5_k']
[debug] Encodings: locale cp950, fs utf-8, out utf-8, err utf-8, pref cp950
[debug] yt-dlp version 2021.12.27 [6223f67a8]
[debug] Python version 3.9.6 (CPython 64bit) - Windows-10-10.0.19042-SP0
[debug] exe versions: ffmpeg 4.4.1-full_build-www.gyan.dev (setts), ffprobe 4.4.1-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome, mutagen, sqlite, websockets
[debug] Proxy map: {}
Latest version: 2021.12.27, Current version: 2021.12.27
yt-dlp is up to date (2021.12.27)
[debug] [youtube] Extracting URL: https://www.youtube.com/watch?v=Dji-ehIz5_k
[youtube] Dji-ehIz5_k: Downloading webpage
[youtube] Dji-ehIz5_k: Downloading android player API JSON
[debug] Loading youtube-nsig.8da38e9a from cache
[debug] [youtube] Decrypted nsig ycT2-H23UUD5mDyM => I9Gs9msLHbATpQ
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, codec:vp9.2, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] Dji-ehIz5_k: Downloading 1 format(s): 303+251
[info] Writing video description to: [20211227]【#天音かなた2周年LIVE】3D LIVE 「リベンジ」_ Amane Kanata 3DLIVE 'Revenge'【天音かなた_ホロライブ】-Dji-ehIz5_k.description
[info] Downloading video thumbnail 45 ...
[info] Writing video thumbnail 45 to: [20211227]【#天音かなた2周年LIVE】3D LIVE 「リベンジ」_ Amane Kanata 3DLIVE 'Revenge'【天音かなた_ホロライブ】-Dji-ehIz5_k.webp
[info] Writing video metadata as JSON to: [20211227]【#天音かなた2周年LIVE】3D LIVE 「リベンジ」_ Amane Kanata 3DLIVE 'Revenge'【天音かなた_ホロライブ】-Dji-ehIz5_k.info.json
[debug] Invoking downloader on "https://rr7---sn-ipoxu-un5ee.googlevideo.com/videoplayback?expire=1640654639&ei=zxLKYaf7ItnHs8IPivm1oAI&ip=36.226.136.135&id=o-ACj42IOgz1K1Xjkyvak1QsGJfOPALX0biCerkdzF3Yv2&itag=303&source=youtube&requiressl=yes&mh=sC&mm=31%2C29&mn=sn-ipoxu-un5ee%2Csn-un57en7s&ms=au%2Crdu&mv=m&mvi=7&pl=25&initcwndbps=745000&vprv=1&mime=video%2Fwebm&gir=yes&clen=1469797614&dur=3968.999&lmt=1640611016393476&mt=1640632638&fvip=6&keepalive=yes&fexp=24001373%2C24007246&c=ANDROID&txp=7316222&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cgir%2Cclen%2Cdur%2Clmt&sig=AOq0QJ8wRQIgITx9ZqaGCiYvD4vm9BNgtaQApbk3A0l01_hs4E_PGd0CIQDxh7xr7oP49WPPSE47WwLmHuZP2JDCNrbfzBEv1WCwYw%3D%3D&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRgIhALNnZMyA_P997j-Nj8g-FjgYZTCuDaUJPsI9jLdfli8-AiEA1NwxgnSo8Ibb8ybNw1OmJlljKdPSBesMcuzsIVaOucY%3D"
[download] Destination: [20211227]【#天音かなた2周年LIVE】3D LIVE 「リベンジ」_ Amane Kanata 3DLIVE 'Revenge'【天音かな た_ホロライブ】-Dji-ehIz5_k.f303.webm
[download]   1.7% of 1.37GiB at  6.36MiB/s ETA 03:36
ERROR: Interrupted by user

G:\youtube-dl>yt-dlp -o "[%(upload_date)s]%(title)s-%(id)s.%(ext)s" --live-from-start --write-thumbnail --write-description --write-info-json --ignore-no-format "https://www.youtube.com/watch?v=videoID"
[youtube] videoID: Downloading webpage
[youtube] videoID: Downloading android player API JSON
[youtube] videoID: Downloading MPD manifest
[youtube] videoID: Downloading MPD manifest
[info] videoID: Downloading 1 format(s): 248+140
[info] Writing video description to: [20211226]-videoID.description
[info] Downloading video thumbnail 46 ...
[info] Writing video thumbnail 46 to: [20211226]-videoID.webp
[info] Writing video metadata as JSON to: [20211226]-videoID.info.json
WARNING: Requested formats are incompatible for merge and will be merged into mkv
[dashsegments] Total fragments: unknown (live)
[download] Destination: [20211226]-videoID.f248.mkv
[dashsegments] Total fragments: unknown (live)
[download] Destination: [20211226]-videoID.f140.mkv
WARNING: Ctrl+C does not work on Windows when used with parallel threads. This is a known issue and patches are welcome
[download] 522.19MiB at  3.93KiB/s (46:11) (frag 1540)[download] Got server HTTP error: The read operation timed out. Retrying (attempt 1 of 10) ...KiB/s (46:11) (frag 1540)

[download] 63.99MiB at 437.60iB/s (46:31) (frag 1540)[download] Got server HTTP error: The read operation timed out. Ret[download] 522.19MiB at 767.89iB/s (46:32) (frag 1540)[download] Got server HTTP error: The read operation timed out. Retrying (attempt 2 of 10) ...
[download] Got server HTTP error: The read operation timed out. Retrying (attempt 2 of 10) ...
[download] Got server HTTP error: IncompleteRead(176 bytes read). Retrying fragment 1541 (attempt 1 of 10) ...
[download] Got server HTTP error: The read operation timed out. Retrying (attempt 3 of 10) ...
[download] Got server HTTP error: IncompleteRead(479 bytes read). Retrying fragment 1541 (attempt 1 of 10) ...
[download] Got server HTTP error: IncompleteRead(176 bytes read). Retrying fragment 1541 (attempt 2 of 10) ...
[download] Got server HTTP error: IncompleteRead(176 bytes read). Retrying fragment 1541 (attempt 3 of 10) ...
[download] Got server HTTP error: IncompleteRead(479 bytes read). Retrying fragment 1541 (attempt 2 of 10) ...
[download] Got server HTTP error: IncompleteRead(479 bytes read). Retrying fragment 1541 (attempt 3 of 10) ...
[download] Got server HTTP error: IncompleteRead(176 bytes read). Retrying fragment 1541 (attempt 4 of 10) ...
[download] Got server HTTP error: HTTP Error 503: Service Unavailable. Retrying (attempt 1 of 10) ...
[download] Got server HTTP error: IncompleteRead(176 bytes read). Retrying fragment 1541 (attempt 5 of 10) ...
[download] Got server HTTP error: HTTP Error 503: Service Unavailable. Retrying (attempt 2 of 10) ...
[download] Got server HTTP error: IncompleteRead(176 bytes read). Retrying fragment 1541 (attempt 6 of 10) ...
[download] Got server HTTP error: IncompleteRead(176 bytes read). Retrying fragment 1541 (attempt 7 of 10) ...
[download] Got server HTTP error: HTTP Error 503: Service Unavailable. Retrying (attempt 3 of 10) ...
[download] Got server HTTP error: IncompleteRead(176 bytes read). Retrying fragment 1541 (attempt 8 of 10) ...
[download] Got server HTTP error: HTTP Error 404: Not Found. Retrying fragment 1541 (attempt 4 of 10) ...
[download] Got server HTTP error: IncompleteRead(176 bytes read). Retrying fragment 1541 (attempt 9 of 10) ...
[download] Got server HTTP error: HTTP Error 404: Not Found. Retrying fragment 1541 (attempt 5 of 10) ...
[download] Got server HTTP error: IncompleteRead(176 bytes read). Retrying fragment 1541 (attempt 10 of 10) ...
[download] Got server HTTP error: HTTP Error 503: Service Unavailable. Retrying (attempt 1 of 10) ...
[download] fragment not found; Skipping fragment 1541 ...

ERROR: Did not get any data blocks
[download] Got server HTTP error: HTTP Error 503: Service Unavailable. Retrying (attempt 2 of 10) ...
[download] Got server HTTP error: HTTP Error 503: Service Unavailable. Retrying (attempt 3 of 10) ...
[download] Got server HTTP error: HTTP Error 503: Service Unavailable. Retrying (attempt 4 of 10) ...
[download] Got server HTTP error: HTTP Error 404: Not Found. Retrying fragment 1541 (attempt 6 of 10) ...
[download] Got server HTTP error: HTTP Error 503: Service Unavailable. Retrying (attempt 1 of 10) ...
[download] Got server HTTP error: HTTP Error 503: Service Unavailable. Retrying (attempt 2 of 10) ...
[download] Got server HTTP error: The read operation timed out. Retrying (attempt 3 of 10) ...
[download] Got server HTTP error: HTTP Error 503: Service Unavailable. Retrying (attempt 4 of 10) ...
[download] Got server HTTP error: HTTP Error 503: Service Unavailable. Retrying (attempt 5 of 10) ...
[download] Got server HTTP error: HTTP Error 503: Service Unavailable. Retrying (attempt 6 of 10) ...
[download] Got server HTTP error: HTTP Error 503: Service Unavailable. Retrying (attempt 7 of 10) ...
[download] Got server HTTP error: HTTP Error 404: Not Found. Retrying fragment 1541 (attempt 7 of 10) ...
[download] Got server HTTP error: HTTP Error 503: Service Unavailable. Retrying (attempt 1 of 10) ...
[download] Got server HTTP error: HTTP Error 503: Service Unavailable. Retrying (attempt 2 of 10) ...
[download] Got server HTTP error: HTTP Error 503: Service Unavailable. Retrying (attempt 3 of 10) ...
[download] Got server HTTP error: HTTP Error 503: Service Unavailable. Retrying (attempt 4 of 10) ...
[download] Got server HTTP error: HTTP Error 404: Not Found. Retrying fragment 1541 (attempt 8 of 10) ...
[download] Got server HTTP error: HTTP Error 503: Service Unavailable. Retrying (attempt 1 of 10) ...
[download] Got server HTTP error: HTTP Error 503: Service Unavailable. Retrying (attempt 2 of 10) ...
[download] Got server HTTP error: HTTP Error 503: Service Unavailable. Retrying (attempt 3 of 10) ...
[download] Got server HTTP error: HTTP Error 503: Service Unavailable. Retrying (attempt 4 of 10) ...
[download] Got server HTTP error: HTTP Error 503: Service Unavailable. Retrying (attempt 5 of 10) ...
[download] Got server HTTP error: HTTP Error 404: Not Found. Retrying fragment 1541 (attempt 9 of 10) ...
[download] Got server HTTP error: HTTP Error 503: Service Unavailable. Retrying (attempt 1 of 10) ...
[download] Got server HTTP error: HTTP Error 404: Not Found. Retrying fragment 1541 (attempt 10 of 10) ...
[download] Got server HTTP error: HTTP Error 503: Service Unavailable. Retrying (attempt 1 of 10) ...
[download] Got server HTTP error: HTTP Error 503: Service Unavailable. Retrying (attempt 2 of 10) ...
[download] fragment not found; Skipping fragment 1541 ...

ERROR: Did not get any data blocks
ERROR: unable to download video data: [Errno 2] No such file or directory: '[20211226]-videoID.f248.mkv.part-Frag1542'

Same here. 😥
Provide my experience for your information:
I used it in this project
yt-dlp \
        --ignore-config \
        --retries 30 \
        --merge-output-format mp4 \
        --live-from-start \
        -o "20220105 【Hollow Knight／ホロウナイト#3】メンバーシップ解禁！！実は雑談のゲーム配信！！！Ꮚ•̀ꈊ•́Ꮚ【新人Vtuber】 2022-01-06 15_05 (VnkKr5aFTZc).%(ext)s" \
        "${WEBPAGE_URL}" >> "$OUTPUT_PATH.log" 2>&1

What I got in the end:

Log file:
20220105 【Hollow Knight／ホロウナイト#3】メンバーシップ解禁！！実は雑談のゲーム配信！！！Ꮚ•̀ꈊ•́Ꮚ【新人Vtuber】 2022-01-06 15_05 (VnkKr5aFTZc).log
I look forward to it being fixed.

Yup, experiencing this issue as well. The last fragment always fails to download, and the last merge phase of the audio and video tracks are skipped because of that.

Same issue here, is that a way or arg to fix this?

The last rewrite (#2870) SHOULD make them merged, at the time I wrote it
That's strange since Did not get any data blockss (and 404/503 as well) has to be ignored, and I made that on the PR

@Lesmiscore Thank you for your work! I confirm that this issue has been solved on my end.
It merged successfully after live stream end.
It still left two fragment files, but I was able to bypass this by --no-part.
I'm not sure if this is the design, or another issue.

I did nothing yet 😅
The last rewrite (#2870 and 195c228) SHOULD make them merged, at the time I wrote it That's strange since Did not get any data blockss (and 404/503 as well) has to be ignored, and I made that on the PR

I am testing with yt-dlp version 2022.03.08.1 [c0c2c57] now. And the last time I tried --live-from-start and had this problem was January 7. I think this issue was already fixed at the time, but it just wasn't mentioned in this issue.

Sadly, other people have still been reporting the same issue. So does not appear to have been fully fixed

Yesterday I have recorded two live streams, both are not merged.
[debug] Command-line config: ['--ignore-config', '--hls-prefer-native', '--hls-use-mpegts', '-f', 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best', '--retries', '5', '--cookies', 'cookies.txt', '--no-part', '--live-from-start', '-vU', '-o', './downloads/Awakenings/20220416 Awakenings Easter Festival 2022 Stage T 2022-04-16 17_13 (VoZAYiqHHzE)', 'https://www.youtube.com/watch?v=VoZAYiqHHzE']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8 (No ANSI), err utf-8 (No ANSI), pref UTF-8
[debug] yt-dlp version 2022.04.08 [7884ade65] (zip)
[debug] Lazy loading extractors is disabled
[debug] Python version 3.10.4 (CPython 64bit) - Linux-4.4.180+-x86_64-with-glibc2.31
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 4.3.3-0, ffprobe 4.3.3-0
[debug] Optional libraries: certifi, Crypto, sqlite
[debug] Proxy map: {}
Latest version: 2022.04.08, Current version: 2022.04.08
yt-dlp is up to date (2022.04.08)
[debug] [youtube] Extracting URL: https://www.youtube.com/watch?v=VoZAYiqHHzE
[youtube] VoZAYiqHHzE: Downloading webpage
[youtube] VoZAYiqHHzE: Downloading android player API JSON
[youtube] VoZAYiqHHzE: Downloading MPD manifest
[youtube] VoZAYiqHHzE: Downloading MPD manifest
[debug] Sort order given by extractor: quality, res, fps, hdr:12, source, codec:vp9.2, lang, proto
[debug] Formats sorted by: hasvid, ie_pref, quality, res, fps, hdr:12(7), source, vcodec:vp9.2(10), acodec, lang, proto, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, id
[info] VoZAYiqHHzE: Downloading 1 format(s): 299+140
[debug] Invoking downloader on "https://manifest.googlevideo.com/api/manifest/dash/expire/..."
[dashsegments] Total fragments: unknown (live)
[download] Destination: ./downloads/Awakenings/20220416 Awakenings Easter Festival 2022 Stage T 2022-04-16 17_13 (VoZAYiqHHzE).f299.mp4
[dashsegments] Total fragments: unknown (live)
[download] Destination: ./downloads/Awakenings/20220416 Awakenings Easter Festival 2022 Stage T 2022-04-16 17_13 (VoZAYiqHHzE).f140.mp4

2: [download] 1.00KiB at  1.41KiB/s (00:00)
2: [download] 3.00KiB at  4.24KiB/s (00:00)
2: [download] 7.00KiB at  9.85KiB/s (00:00)
2: [download] 15.00KiB at 21.09KiB/s (00:00)
2: [download] 31.00KiB at 43.25KiB/s (00:00)
2: [download] 63.00KiB at 84.25KiB/s (00:00)
2: [download] 80.26KiB at 106.46KiB/s (00:00)
2: [download] 80.26KiB at 106.33KiB/s (00:00) (frag 1)
1: [download] 1.00KiB at  1.21KiB/s (00:00)
1: [download] 3.00KiB at  3.63KiB/s (00:00)
1: [download] 7.00KiB at  8.47KiB/s (00:00)
1: [download] 15.00KiB at 18.14KiB/s (00:00)
1: [download] 31.00KiB at 36.40KiB/s (00:00)
1: [download] 63.00KiB at 72.10KiB/s (00:00)
2: [download] 81.26KiB at  8.16KiB/s (00:00) (frag 1)
2: [download] 83.26KiB at 24.35KiB/s (00:00) (frag 1)
2: [download] 87.26KiB at 56.56KiB/s (00:00) (frag 1)
2: [download] 95.26KiB at 120.67KiB/s (00:00) (frag 1)
1: [download] 127.00KiB at 141.38KiB/s (00:00)
2: [download] 111.26KiB at 215.69KiB/s (00:00) (frag 1)
2: [download] 143.26KiB at 356.33KiB/s (00:00) (frag 1)
1: [download] 255.00KiB at 267.89KiB/s (00:00)
2: [download] 160.17KiB at 404.76KiB/s (00:00) (frag 1)
2: [download] 160.17KiB at 402.51KiB/s (00:00) (frag 2)
1: [download] 511.00KiB at 518.30KiB/s (00:00)
1: [download] 899.15KiB at 877.71KiB/s (00:01)
1: [download] 899.15KiB at 876.74KiB/s (00:01) (frag 1)
2: [download] 161.17KiB at  6.48KiB/s (00:01) (frag 2)
***
1: [download] 12.27GiB at 103.11KiB/s (05:52:47) (frag 6589)
1: [download] 12.27GiB at 148.26KiB/s (05:52:47) (frag 6589)
1: [download] 12.27GiB at 147.88KiB/s (05:52:47) (frag 6590)
1: [download] 12.27GiB at  211.43B/s (05:52:52) (frag 6590)
1: [download] 12.27GiB at  634.22B/s (05:52:52) (frag 6590)
1: [download] 12.27GiB at  1.45KiB/s (05:52:52) (frag 6590)
1: [download] 12.27GiB at  3.10KiB/s (05:52:52) (frag 6590)
1: [download] 12.27GiB at  6.37KiB/s (05:52:52) (frag 6590)
1: [download] 12.27GiB at 12.88KiB/s (05:52:52) (frag 6590)
1: [download] 12.27GiB at 25.80KiB/s (05:52:52) (frag 6590)
1: [download] 12.27GiB at 51.50KiB/s (05:52:52) (frag 6590)
1: [download] 12.27GiB at 102.62KiB/s (05:52:52) (frag 6590)
1: [download] 12.27GiB at 203.31KiB/s (05:52:52) (frag 6590)
1: [download] 12.27GiB at 203.27KiB/s (05:52:52) (frag 6591)
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 6592 (attempt 1 of 10) ...

[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 6592 (attempt 2 of 10) ...

[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 6592 (attempt 3 of 10) ...

[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 6592 (attempt 4 of 10) ...

[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 6592 (attempt 5 of 10) ...

[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 6592 (attempt 6 of 10) ...

[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 6592 (attempt 7 of 10) ...

[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 6592 (attempt 8 of 10) ...

[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 6592 (attempt 9 of 10) ...

[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 6592 (attempt 10 of 10) ...
ERROR: 'fragment_filename_sanitized'
Traceback (most recent call last):
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 1408, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 1492, in __extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 1548, in process_ie_result
    ie_result = self.process_video_result(ie_result, download=download)
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 2648, in process_video_result
    self.process_info(new_info)
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 3085, in process_info
    success, real_download = self.dl(temp_filename, info_dict)
  File "/usr/local/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 2846, in dl
    return fd.download(name, new_info, subtitle)
  File "/usr/local/bin/yt-dlp/yt_dlp/downloader/common.py", line 457, in download
    ret = self.real_download(filename, info_dict)
  File "/usr/local/bin/yt-dlp/yt_dlp/downloader/dash.py", line 56, in real_download
    return self.download_and_append_fragments_multiple(*args)
  File "/usr/local/bin/yt-dlp/yt_dlp/downloader/fragment.py", line 433, in download_and_append_fragments_multiple
    result = result and future_result(job)
  File "/usr/local/bin/yt-dlp/yt_dlp/downloader/fragment.py", line 416, in future_result
    return future.result()
  File "/usr/local/lib/python3.10/concurrent/futures/_base.py", line 446, in result
    return self.__get_result()
  File "/usr/local/lib/python3.10/concurrent/futures/_base.py", line 391, in __get_result
    raise self._exception
  File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/bin/yt-dlp/yt_dlp/downloader/fragment.py", line 396, in thread_func
    return self.download_and_append_fragments(
  File "/usr/local/bin/yt-dlp/yt_dlp/downloader/fragment.py", line 531, in download_and_append_fragments
    result = append_fragment(decrypt_fragment(fragment, self._read_fragment(ctx)), fragment['frag_index'], ctx)
  File "/usr/local/bin/yt-dlp/yt_dlp/downloader/fragment.py", line 144, in _read_fragment
    down, frag_sanitized = self.sanitize_open(ctx['fragment_filename_sanitized'], 'rb')
KeyError: 'fragment_filename_sanitized'

It's not a solution, but if anyone searches for a workaround, this way you get a playable file at least:
ffmpeg.exe -i videofile.part' -i audiofile.part' -c:v copy -c:a copy output.mp4

I think this was fixed in version 2022.05.18. The download thread would give up the last incomplete segment after a default of 10 tries and the merger would merge all the complete segments.
log
...
[download] Got server HTTP error: The read operation timed out. Retrying (attempt 1 of 10) ...

[download] 239.00MiB at  1.09KiB/s (01:57:10) (frag 5922)[download] Got server HTTP error: IncompleteRead(8125 bytes read). Retrying (attempt 2 of 10) ...
[download] 706.46MiB at  2.53KiB/s (01:57:22) (frag 5922)[download] Got server HTTP error: The read operation timed out. Retrying (attempt 3 of 10) ...
[download] Got server HTTP error: IncompleteRead(957 bytes read). Retrying (attempt 4 of 10) ...
[download] Got server HTTP error: IncompleteRead(264 bytes read). Retrying (attempt 3 of 10) ...
[download] Got server HTTP error: IncompleteRead(264 bytes read). Retrying (attempt 4 of 10) ...
[download] Got server HTTP error: IncompleteRead(264 bytes read). Retrying (attempt 5 of 10) ...
[download] Got server HTTP error: IncompleteRead(957 bytes read). Retrying (attempt 5 of 10) ...
[download] Got server HTTP error: IncompleteRead(264 bytes read). Retrying (attempt 6 of 10) ...
[download] Got server HTTP error: IncompleteRead(957 bytes read). Retrying (attempt 6 of 10) ...
[download] Got server HTTP error: IncompleteRead(264 bytes read). Retrying (attempt 7 of 10) ...
[download] Got server HTTP error: IncompleteRead(957 bytes read). Retrying (attempt 7 of 10) ...
[download] Got server HTTP error: IncompleteRead(264 bytes read). Retrying (attempt 8 of 10) ...
[download] Got server HTTP error: IncompleteRead(264 bytes read). Retrying (attempt 9 of 10) ...
[download] Got server HTTP error: IncompleteRead(957 bytes read). Retrying (attempt 8 of 10) ...
[download] Got server HTTP error: IncompleteRead(264 bytes read). Retrying (attempt 10 of 10) ...
[download] Got server HTTP error: IncompleteRead(957 bytes read). Retrying (attempt 9 of 10) ...
ERROR: giving up after 10 retries
[download] fragment not found; Skipping fragment 5923 ...
[download] Got server HTTP error: HTTP Error 404: Not Found. Retrying fragment 5924 (attempt 1 of 10) ...
[download] Got server HTTP error: HTTP Error 404: Not Found. Retrying fragment 5924 (attempt 2 of 10) ...
[download] Got server HTTP error: HTTP Error 404: Not Found. Retrying fragment 5924 (attempt 3 of 10) ...
[download] Got server HTTP error: HTTP Error 404: Not Found. Retrying fragment 5924 (attempt 4 of 10) ...
[download] Got server HTTP error: HTTP Error 404: Not Found. Retrying fragment 5924 (attempt 5 of 10) ...
[download] Got server HTTP error: IncompleteRead(957 bytes read). Retrying (attempt 10 of 10) ...
[download] Got server HTTP error: HTTP Error 404: Not Found. Retrying fragment 5924 (attempt 6 of 10) ...
[download] Got server HTTP error: HTTP Error 404: Not Found. Retrying fragment 5924 (attempt 7 of 10) ...
[download] Got server HTTP error: HTTP Error 404: Not Found. Retrying fragment 5924 (attempt 8 of 10) ...
[download] Got server HTTP error: HTTP Error 404: Not Found. Retrying fragment 5924 (attempt 9 of 10) ...
[download] Got server HTTP error: HTTP Error 404: Not Found. Retrying fragment 5924 (attempt 10 of 10) ...
[download] fragment not found; Skipping fragment 5924 ...
[download] 100% of 706.36MiB in 01:58:28ERROR: giving up after 10 retries
[download] fragment not found; Skipping fragment 5923 ...
[download] Got server HTTP error: HTTP Error 404: Not Found. Retrying fragment 5924 (attempt 1 of 10) ...
[download] Got server HTTP error: HTTP Error 404: Not Found. Retrying fragment 5924 (attempt 2 of 10) ...
[download] Got server HTTP error: HTTP Error 404: Not Found. Retrying fragment 5924 (attempt 3 of 10) ...
[download] Got server HTTP error: HTTP Error 404: Not Found. Retrying fragment 5924 (attempt 4 of 10) ...
[download] Got server HTTP error: HTTP Error 404: Not Found. Retrying fragment 5924 (attempt 5 of 10) ...
[download] Got server HTTP error: HTTP Error 404: Not Found. Retrying fragment 5924 (attempt 6 of 10) ...
[download] Got server HTTP error: HTTP Error 404: Not Found. Retrying fragment 5924 (attempt 7 of 10) ...
[download] Got server HTTP error: HTTP Error 404: Not Found. Retrying fragment 5924 (attempt 8 of 10) ...
[download] Got server HTTP error: HTTP Error 404: Not Found. Retrying fragment 5924 (attempt 9 of 10) ...
[download] Got server HTTP error: HTTP Error 404: Not Found. Retrying fragment 5924 (attempt 10 of 10) ...
[download] fragment not found; Skipping fragment 5924 ...

[download] 100% of 238.98MiB in 01:58:40
[Merger] Merging formats into "filename.mkv"

However, the last incomplete segment would not be merged into the final output and would be left as a *-Frag<number>.part file. Although the file would usually only be less than 1 second, it would be great if it also got merged into the output, as the content of it is still valid and playable.

I sadly still have the issue.

It's not a solution, but if anyone searches for a workaround, this way you get a playable file at least: ffmpeg.exe -i videofile.part' -i audiofile.part' -c:v copy -c:a copy output.mp4
Also, the .part files are empty for me, so ffmpeg can't do anything ...
And cat doesn't work either, as when processing, I get 'Non-monotonous DTS in output stream 0:0; ...'

Also having similar issues. Specifically merging goes wrong because there is invalid data in the dowloaded files.
Using ffprobe on the downloaded files also mentions the "error reading header, invalid data found when processing input" error.
1: [download]    7.58GiB at    3.82MiB/s (04:52:53) (frag 19099/19100) 2: [download]  394.60MiB at      0.00B/s (04:52:52) (frag 19098/19100) 2: [download]  394.60MiB at      0.00B/s (04:52:57) (frag 19098/19100) 2: [download]  394.60MiB at      0.00B/s (04:52:57) (frag 19098/19100) 2: [download]  394.61MiB at      0.00B/s (04:52:57) (frag 19098/19100) 2: [download]  394.62MiB at      0.00B/s (04:52:57) (frag 19098/19100) 2: [download]  394.62MiB at      0.00B/s (04:52:57) (frag 19099/19100) 2: [download]  394.62MiB at      0.00B/s (04:52:57) (frag 19099/19100) 2: [download]  394.62MiB at      0.00B/s (04:53:08) (frag 19099/19100) 2: [download]  394.62MiB at      0.00B/s (04:53:08) (frag 19099/19100) 2: [download]  394.63MiB at      0.00B/s (04:53:08) (frag 19099/19100) [download] Got error: HTTPSConnectionPool(host='rr1---sn-32o-bg9e.googlevideo.com', port=443): Read timed out.. Retrying (1/10)... [download] Got error: HTTPSConnectionPool(host='rr1---sn-32o-bg9e.googlevideo.com', port=443): Read timed out.. Retrying (1/10)... [download] Got error: HTTPSConnectionPool(host='rr1---sn-32o-bg9e.googlevideo.com', port=443): Read timed out. (read timeout=20.0). Retrying (2/10)... [download] Got error: HTTP Error 503: Service Unavailable. Retrying (2/10)... [download] Got error: HTTP Error 503: Service Unavailable. Retrying (3/10)... 1: [download]    7.58GiB at      0.00B/s (04:52:53) (frag 19099/19100) 1: [download]    7.58GiB at      0.00B/s (04:53:40) (frag 19099/19100) 1: [download]    7.58GiB at      0.00B/s (04:53:40) (frag 19099/19100) 1: [download]    7.58GiB at      0.00B/s (04:53:40) (frag 19099/19100) 1: [download]    7.58GiB at      0.00B/s (04:53:40) (frag 19099/19100) 1: [download]    7.58GiB at      0.00B/s (04:53:40) (frag 19099/19100) [download] Got error: 40 bytes read. Retrying (3/10)... [download] Got error: 42074 bytes read. Retrying (4/10)... 1: [download]    7.58GiB at      0.00B/s (04:53:40) (frag 19099/19100) 1: [download]    7.58GiB at      0.00B/s (04:53:57) (frag 19099/19100) 1: [download]    7.58GiB at      0.00B/s (04:53:57) (frag 19099/19100) 1: [download]    7.58GiB at      0.00B/s (04:53:57) (frag 19099/19100) 1: [download]    7.58GiB at      0.00B/s (04:53:57) (frag 19099/19100) [download] Got error: 40 bytes read. Retrying (4/10)... [download] Got error: 10330 bytes read. Retrying (5/10)... 1: [download]    7.58GiB at      0.00B/s (04:53:57) (frag 19099/19100) 1: [download]    7.58GiB at      0.00B/s (04:54:01) (frag 19099/19100) 1: [download]    7.58GiB at      0.00B/s (04:54:01) (frag 19099/19100) [download] Got error: 40 bytes read. Retrying (5/10)... [download] Got error: 3162 bytes read. Retrying (6/10)... 1: [download]    7.58GiB at      0.00B/s (04:54:01) (frag 19099/19100) 1: [download]    7.58GiB at      0.00B/s (04:54:04) (frag 19099/19100) [download] Got error: 40 bytes read. Retrying (6/10)... [download] Got error: 90 bytes read. Retrying (7/10)... [download] Got error: 40 bytes read. Retrying (7/10)... [download] Got error: 90 bytes read. Retrying (8/10)... [download] Got error: 40 bytes read. Retrying (8/10)... [download] Got error: 90 bytes read. Retrying (9/10)... [download] Got error: 40 bytes read. Retrying (9/10)... [download] Got error: 90 bytes read. Retrying (10/10)... [download] Got error: 40 bytes read. Retrying (10/10)... ERROR:  [download] Got error: 90 bytes read. Giving up after 10 retries [download] fragment not found; Skipping fragment 19100 ... [download] Got error: HTTP Error 404: Not Found. Retrying fragment 19101 (1/10)... [download] Got error: HTTP Error 404: Not Found. Retrying fragment 19101 (2/10)... [download] Got error: HTTP Error 404: Not Found. Retrying fragment 19101 (3/10)... ERROR:  [download] Got error: 40 bytes read. Giving up after 10 retries [download] fragment not found; Skipping fragment 19100 ... [download] Got error: HTTP Error 404: Not Found. Retrying fragment 19101 (4/10)... [download] Got error: HTTP Error 404: Not Found. Retrying fragment 19101 (1/10)... [download] Got error: HTTP Error 404: Not Found. Retrying fragment 19101 (5/10)... [download] Got error: HTTP Error 404: Not Found. Retrying fragment 19101 (2/10)... [download] Got error: HTTP Error 404: Not Found. Retrying fragment 19101 (6/10)... [download] Got error: HTTP Error 404: Not Found. Retrying fragment 19101 (3/10)... [download] Got error: HTTP Error 404: Not Found. Retrying fragment 19101 (7/10)... [download] Got error: HTTP Error 404: Not Found. Retrying fragment 19101 (4/10)... [download] Got error: HTTP Error 404: Not Found. Retrying fragment 19101 (8/10)... [download] Got error: HTTP Error 404: Not Found. Retrying fragment 19101 (5/10)... [download] Got error: HTTP Error 404: Not Found. Retrying fragment 19101 (9/10)... [download] Got error: HTTP Error 404: Not Found. Retrying fragment 19101 (6/10)... [download] Got error: HTTP Error 404: Not Found. Retrying fragment 19101 (10/10)... [download] Got error: HTTP Error 404: Not Found. Retrying fragment 19101 (7/10)... [download] fragment not found; Skipping fragment 19101 ... [download] Got error: HTTP Error 404: Not Found. Retrying fragment 19101 (8/10)... [download] Got error: HTTP Error 404: Not Found. Retrying fragment 19101 (9/10)... [download] Got error: HTTP Error 404: Not Found. Retrying fragment 19101 (10/10)... [youtube] _BX63y8cmtg: Downloading webpage [youtube] _BX63y8cmtg: Downloading ios player API JSON [youtube] _BX63y8cmtg: Downloading android player API JSON WARNING: [youtube] _BX63y8cmtg: Video is no longer live. Retrying (1/3)... WARNING: [youtube] _BX63y8cmtg: Video is no longer live. Retrying (2/3)... WARNING: [youtube] _BX63y8cmtg: Video is no longer live. Retrying (3/3)... WARNING: [youtube] _BX63y8cmtg: Video is no longer live. Giving up after 3 retries 1: [download] 100% of    7.58GiB in 04:54:36 at 449.83KiB/s [download] fragment not found; Skipping fragment 19101 ... WARNING: [youtube] _BX63y8cmtg: Video is no longer live. Retrying (1/3)... WARNING: [youtube] _BX63y8cmtg: Video is no longer live. Retrying (2/3)... WARNING: [youtube] _BX63y8cmtg: Video is no longer live. Retrying (3/3)... WARNING: [youtube] _BX63y8cmtg: Video is no longer live. Giving up after 3 retries 2: [download] 100% of  394.62MiB in 04:54:38 at 22.86KiB/s [Merger] Merging formats into "/drives/media/Tartube Storage/griffinstreams/2023-11-19 - What's Up GAMERS...The Last of Us 2 Abbyzilla Remastered GOTY 2024, Sony is Desperate for PS5 Games.mp4" ERROR: file:/drives/media/Tartube Storage/griffinstreams/2023-11-19 - What's Up GAMERS...The Last of Us 2 Abbyzilla Remastered GOTY 2024, Sony is Desperate for PS5 Games.f299.mp4: Invalid data found when processing input Livestream download failed

Got the same sort of error:
yt-dlp -f bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio --merge-output-format mp4 --output "Ririka Ch - %(upload_date>%Y-%m-%d)s.%(ext)s" --embed-thumbnail --write-thumbnail --mark-watched --add-metadata --cookies-from-browser chrome --live-from-start "https://www.youtube.com/live/_2Jl1j8HNi8?si=KKrKuSdsEBnov8pT"
Extracting cookies from chrome
Extracted 3412 cookies from chrome
[youtube] Extracting URL: https://www.youtube.com/live/_2Jl1j8HNi8?si=KKrKuSdsEBnov8pT
[youtube] _2Jl1j8HNi8: Downloading webpage
[youtube] _2Jl1j8HNi8: Downloading ios player API JSON
[youtube] _2Jl1j8HNi8: Downloading android player API JSON
[youtube] _2Jl1j8HNi8: Downloading MPD manifest
[youtube] _2Jl1j8HNi8: Downloading MPD manifest
[youtube] _2Jl1j8HNi8: Marking watched
[youtube] _2Jl1j8HNi8: Marking fully watched
[info] _2Jl1j8HNi8: Downloading 1 format(s): 299+140
[info] Downloading video thumbnail 46 ...
[info] Writing video thumbnail 46 to: Ririka Ch - 2024-01-23.webp
[dashsegments] Total fragments: unknown (live)
[download] Destination: Ririka Ch - 2024-01-23.f299.mp4
[dashsegments] Total fragments: unknown (live)
[download] Destination: Ririka Ch - 2024-01-23.f140.mp4
[download]    4.20GiB at  137.57KiB/s (02:14:33) (frag 4072/4072)
[download]  164.33MiB at      0.00B/s (02:14:37) (frag 4072/4074)[download] Got error: HTTPSConnectionPool(host='rr2---sn-uxa0n-t35e.googlevideo.com', port=443): Read timed out. (read timeout=20.0). Retrying (1/10)...
[download] Got error: HTTPSConnectionPool(host='rr1---sn-uxa0n-t8gs.googlevideo.com', port=443): Read timed out. (read timeout=20.0). Retrying (1/10)...
[download]  164.34MiB at      0.00B/s (02:15:02) (frag 4072/4074)[download] Got error: HTTPSConnectionPool(host='rr1---sn-uxa0n-t8gs.googlevideo.com', port=443): Read timed out. (read timeout=20.0). Retrying (2/10)...
[download] Got error: HTTPSConnectionPool(host='rr2---sn-uxa0n-t35e.googlevideo.com', port=443): Read timed out.. Retrying (2/10)...
[download]    4.20GiB at      0.00B/s (02:15:23) (frag 4072/4074)[download] Got error: HTTP Error 503: Service Unavailable. Retrying (3/10)...
ERROR: Did not get any data blocks
[download] fragment not found; Skipping fragment 4073 ...
[download] Got error: HTTP Error 404: Not Found. Retrying fragment 4074 (1/10)...
[download] Got error: HTTP Error 404: Not Found. Retrying fragment 4074 (2/10)...
[download] Got error: 602 bytes read. Retrying (4/10)...
[download] Got error: HTTP Error 404: Not Found. Retrying fragment 4074 (3/10)...
[download] Got error: HTTP Error 404: Not Found. Retrying fragment 4073 (1/10)...
[download] Got error: HTTP Error 404: Not Found. Retrying fragment 4074 (4/10)...
[download] Got error: HTTP Error 404: Not Found. Retrying fragment 4074 (5/10)...
[download] Got error: HTTP Error 404: Not Found. Retrying fragment 4073 (2/10)...
[download] Got error: HTTP Error 404: Not Found. Retrying fragment 4074 (6/10)...
[download] Got error: HTTP Error 404: Not Found. Retrying fragment 4074 (7/10)...
[download] Got error: HTTP Error 404: Not Found. Retrying fragment 4074 (8/10)...
[download] Got error: HTTP Error 404: Not Found. Retrying fragment 4074 (9/10)...
[download] Got error: 602 bytes read. Retrying (1/10)...
[download] Got error: HTTP Error 404: Not Found. Retrying fragment 4074 (10/10)...
[download] Got error: HTTP Error 404: Not Found. Retrying fragment 4073 (3/10)...
[download] fragment not found; Skipping fragment 4074 ...
[youtube] _2Jl1j8HNi8: Downloading webpage
[youtube] _2Jl1j8HNi8: Downloading ios player API JSON
[youtube] _2Jl1j8HNi8: Downloading android player API JSON
[youtube] _2Jl1j8HNi8: Downloading m3u8 information
[youtube] _2Jl1j8HNi8: Downloading m3u8 information
[youtube] _2Jl1j8HNi8: Downloading MPD manifest
[youtube] _2Jl1j8HNi8: Downloading m3u8 information
[youtube] _2Jl1j8HNi8: Downloading MPD manifest
[download] 100% of  164.33MiB in 02:15:51 at 20.64KiB/s[download] Got error: 602 bytes read. Retrying (1/10)...
[download] Got error: HTTP Error 404: Not Found. Retrying fragment 4073 (4/10)...
[download] Got error: 602 bytes read. Retrying (1/10)...
[download] Got error: HTTP Error 404: Not Found. Retrying fragment 4073 (5/10)...
[download] Got error: 602 bytes read. Retrying (1/10)...
[download] Got error: HTTP Error 404: Not Found. Retrying fragment 4073 (6/10)...
[download] Got error: 602 bytes read. Retrying (1/10)...
[download] Got error: 602 bytes read. Retrying (2/10)...
[download] Got error: 602 bytes read. Retrying (3/10)...
[download] Got error: 602 bytes read. Retrying (4/10)...
[download] Got error: 602 bytes read. Retrying (5/10)...
[download] Got error: 602 bytes read. Retrying (6/10)...
[download] Got error: 602 bytes read. Retrying (7/10)...
[download] Got error: 602 bytes read. Retrying (8/10)...
[download] Got error: 602 bytes read. Retrying (9/10)...
[download] Got error: 602 bytes read. Retrying (10/10)...
[download] Got error: 602 bytes read. Giving up after 10 retries
[download] fragment not found; Skipping fragment 4073 ...
[download] Got error: HTTP Error 404: Not Found. Retrying fragment 4074 (1/10)...
[download] Got error: HTTP Error 404: Not Found. Retrying fragment 4074 (2/10)...
[download] Got error: HTTP Error 404: Not Found. Retrying fragment 4074 (3/10)...
[download] Got error: HTTP Error 404: Not Found. Retrying fragment 4074 (4/10)...
[download] Got error: HTTP Error 404: Not Found. Retrying fragment 4074 (5/10)...
[download] Got error: HTTP Error 404: Not Found. Retrying fragment 4074 (6/10)...
[download] Got error: HTTP Error 404: Not Found. Retrying fragment 4074 (7/10)...
[download] Got error: HTTP Error 404: Not Found. Retrying fragment 4074 (8/10)...
[download] Got error: HTTP Error 404: Not Found. Retrying fragment 4074 (9/10)...
[download] Got error: HTTP Error 404: Not Found. Retrying fragment 4074 (10/10)...
[download] 100% of    4.20GiB in 02:17:32 at 534.20KiB/s
[Merger] Merging formats into "Ririka Ch - 2024-01-23.mp4"
ERROR: Postprocessing: Error opening input files: Invalid data found when processing input

@tuppgallocapon upgrade to ffmpeg 6.1.1 or newer

Ok, so, in my case I'm on 2023.12.30 with ffmpeg 6.1 and it still errored in a live stream.
I'm trying to concat the files afterwards with ffmpeg but it seems both the audio part and video part files got corrupted somehow:
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x6bd380] error reading header
[in#0 @ 0x6bd280] Error opening input: Invalid data found when processing input

ffmpeg 6.1.1 NOT ffmpeg 6.1

I can confirm this issue.
If I do a yt-dlp for a short amount of time and then hit ^C, it closes the downloading gracefully, and merges the streams.
However, if I leave it for almost an hour, and indeed it has this merge issue. I got left with two files:
something.f140.mp4 and something.f299.mp4 (I edited the file name to something prefix)
Well I was able to manually merge with:
ffmpeg -i something.f299.mp4 -i something.f140.mp4 -c:v copy -c:a copy output.mp4
I got tons of warnings playing these files...

[ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: Found duplicated MOOV Atom. Skipped it

And I checked the basic things, lots of disk space, etc.
$ yt-dlp --version
2024.03.10

I got tons of warnings playing these files...

[ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: Found duplicated MOOV Atom. Skipped it

When playing? or when merging? If during merging, it's expected and can be ignored

Yes when merging. Yes when playing the individual .f299 file as well.
Cheers.
On Sun, Mar 31, 2024 at 9:44 AM pukkandan @.***> wrote:

I got tons of warnings playing these files...
[ffmpeg/demuxer] mov,mp4,m4a,3gp,3g2,mj2: Found duplicated MOOV Atom.
Skipped it
When playing? or when merging? If during merging, it's expected and can be
ignored
—
Reply to this email directly, view it on GitHub
https://github.com/yt-dlp/yt-dlp/issues/2137#issuecomment-2028748368,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AABA7M7LBS5MKH2G2F4JCJ3Y3AHMJAVCNFSM5K23XANKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TEMBSHA3TIOBTGY4A
.
You are receiving this because you commented.Message ID:
@.***>

I have an interesting thing I just found out. I had/have the same problems. Since I have a bunch of old laptops laying around and a mac mini besides my Pc I decided to run some tests having them all run on the same stream with some different settings (all with --live-from-start) and see if I find something that works. long story short all Windows PCs  constantly failed while on mac it worked and I have repeated it for 4 streams now. Successfully got the stream in a .mkv 1440p60 everytime.
so somethings seems to be different with it and makes it work. I'm fairly sure it will be the same for linux, but I will give it a try in the next couple of days when I find time. I have no clue what the reason is, but maybe one of the smart people hear can figure out the problem with windows with that info. :)

authors: GGG-KILLER Grarie JC-Chung Lesmiscore Lux-Hue Rukeith alexk-ede bashonly glubsy jim60105 mikelei8291 pukkandan purpleidea rattailgamer tokon2000 tuppgallocapon


text:
Embeded yt_dlp version 2023.01.02 not working in windowed mode

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I remove or skip any mandatory* field

Checklist

[X] I'm asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've verified that I'm running yt-dlp version 2023.01.02 (update instructions) or later (specify commit)
[X] I've searched the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Please make sure the question is worded well enough to be understood
Without terminal

In terminal

I recently installed yt-dlp 2023.01.02
The same code is working in terminal but refused to work in IDLE
I have not faced this problem in older releases , how to fix this?
Provide verbose output that clearly demonstrates the problem

[ ] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
No response

#5927

Fixed by https://github.com/yt-dlp/yt-dlp/commit/12dea4c110844d45827f79b74823f0201fee8a9d

authors: pukkandan sourabhkv