Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make Cat-Catch compatible with --no-part commandline to download sequentially force the download to write directly to the output file=we can playback temporary unified video while downloading= avoid small fragment videos slices #634

Open
trimechee opened this issue Feb 15, 2025 · 4 comments

Comments

@trimechee
Copy link

trimechee commented Feb 15, 2025

Hi, downloading embedded streaming videos works perfectly with Cat Catch and N_m3u8DL-RE , thanks !

the problem, my ADSL internet connection can become very weak when my mother and sisters connect to wifi, to solve this problem, I added in URL Protocol m3u8dl settings of Cat Catch this command line :

--tmp-dir "E:" --save-dir "E:"

to see and playback temporary video while downloading, the problem the temporary video is in the form of multiple small fragments videos slices impossible to play back with local media player in a seamless playback smooth playback without interruption silence between the small files videos .....

i do some research and it seems that yt-dlp which uses ffmpeg to download, yt-dlp has a special command :

--no-part

to force the download to write directly to the output file :

yt-dlp/yt-dlp#2783

yt-dlp/yt-dlp#9050

we hope please a similar command line function/option for Cat Catch to make the dream ture to be able to download sequentially force the download to write directly to the output file=we can playback temporary unified video while downloading= avoid small fragment videos slices, just like Cat Catch parser, thanks a lot !

UPDATE : great news !

A great developer of another m3u8 downloader advised me this trick :

"I have found a new idea: when downloading, do not directly download the video in the specified format (mp4/flv), but rather a single ts/mkv file, and finally convert it to the specified video format. The ts/mkv video format naturally supports streaming playback, so it can be downloaded and played simultaneously.

You can test with this code:

ffmpeg -referer https://0472.org/ -i https://0472.org/hls/cgtn.m3u8 -max_muxing_queue_size 9999 -preset fast -c:v copy -c:a copy $PWD/1740732513283.mkv

Make sure you have the ffmpeg executable file. "

So we hope great generous Mr Xifangczy will implement this trck out of the box please by adding the necessary command line to mu8dl settings, thanks !

and for more ease for non-expert users, pit would be good idea to add graphical option "download sequentially in .ts video formatto playback temporary video while downloading":

by including this code that I talked about previously out of the box, thanks !

@trimechee
Copy link
Author

trimechee commented Feb 15, 2025

Mr @xifangczy, full of hope, I search in the command lines of N_m3u8DL-RE and I find this command line:

--live-real-time-merge

which seems to me a promising command and can perhaps remove the small fragments of video slices to have a temporary unified video in order to playback while downloading, I try to download this streaming hls video :

https://v6.voiranime.com/anime/fate-stay-night-vf/fate-stay-night-21-vf/

but same result, there are small fragments of video slices .ts while donwloading impossible to playback ,

but I notice an interesting thing about this command line: its description is:

--live-real-time-merge : 录制直播时实时合并 [default: False]

so this command line is disabled by default in Cat Catch even if we add it to URL Protocol m3u8dl settings of Cat Catch?

how to enable this command line please : --live-real-time-merge ?

https://github.com/nilaoda/N_m3u8DL-RE?tab=readme-ov-file#%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0

@trimechee
Copy link
Author

UPDATE:

I notice this: yt-dlp which has the ability to download temporary hls video in an unified manner with --no-part command line without slices small fragments videos, yt-dlp develops its own version of ffmpeg customized with some patches necessary for smooth integration with yt-dlp and the builds provided are only meant to be used with yt-dlp and any unrelated issues/patches will be rejected!

https://github.com/yt-dlp/FFmpeg-Builds

so maybe the ultimate secret to make the dream come true and save an expensive internet plan and an expensive laptop expensive cpu and to avoid videos jerk lag in the web browser of full HD videos i.e. download temporary hls video in a unified way with --no-part command line without slices small fragments videos is to develop own customized personalized ffmpeg adaptable to N_m3u8DL-RE, like yt-dlp does?

@trimechee trimechee changed the title Make N_m3u8DL-RE compatible with --no-part commandline to download sequentially force the download to write directly to the output file=we can playback temporary unified video while downloading= avoid small fragment videos slices Make Cat-Catch compatible with --no-part commandline to download sequentially force the download to write directly to the output file=we can playback temporary unified video while downloading= avoid small fragment videos slices Feb 16, 2025
@trimechee
Copy link
Author

Please Mr @xifangczy , just one more urgent question, how to enable correctly the commad line --live-real-time-merge of N_m3u8DL-RE in Cat-Catch settings ?

I added this command line in URL Protocol m3u8dl of Cat Catch settings but I don't see any real time merge of streaming video hls ? documentation say the default state of this command is false , we must put : --live-real-time-merge [default: True] ?

--live-real-time-merge : 录制直播时实时合并 [default: False]

@trimechee
Copy link
Author

UPDATE : great news !

A great developer of another m3u8 downloader advised me this trick :

"I have found a new idea: when downloading, do not directly download the video in the specified format (mp4/flv), but rather a single ts/mkv file, and finally convert it to the specified video format. The ts/mkv video format naturally supports streaming playback, so it can be downloaded and played simultaneously.

You can test with this code:

ffmpeg -referer https://0472.org/ -i https://0472.org/hls/cgtn.m3u8 -max_muxing_queue_size 9999 -preset fast -c:v copy -c:a copy $PWD/1740732513283.mkv

Make sure you have the ffmpeg executable file. "

So we hope great generous Mr @xifangczy will implement this trck out of the box please by adding the necessary command line to mu8dl settings, thanks !

and for more ease for non-expert users, pit would be good idea to add graphical option "download sequentially in .ts video formatto playback temporary video while downloading":

by including this code that I talked about previously out of the box, thanks !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant