#1
|
|||
|
|||
![]()
I use Ctrl+V to batch analyze generic HLS streams, the filenames used to be like this "index (2160p_ac3 375kbits).mp4" or this "index (1080p_aac).mp4", and thus would be sorted into different packages.
This used to work when I tried it back on 23 September, but no longer works as of the newest update, now the filename is only "index.mp4". I already updated ffmpeg and ffprobe before September and I did it again this time, so I guess it's irrelevant. Last edited by rdlnwdj; 18.11.2022 at 02:30. |
#2
|
||||
|
||||
![]()
@rdlnwdj: can you please provide example links?
We've optimized the crawler plugin to be faster and thus the plugin only fetches those infos on actual download or linkcheck by default. You can change it in Settings->Plugins->m3u8, set to slow
__________________
JD-Dev & Server-Admin |
#3
|
||||
|
||||
![]()
@rdlnwdj
Sorry for the problems our changes may have caused. While working on this thread we found multiple ways to improve the performance when adding m3u8 links. We've tried to set reasonable default options for the newly available settings but we might have failed with this and/or there are still some bugs left. Please provide example URLs so we can look into this.
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download |
#4
|
||||
|
||||
![]()
@rdlnwdj: Change Settings->Plugins->m3u8 with next plugin to AUTOMATIC_SUPERFAST
But would be great if you could provide example links for further testing
__________________
JD-Dev & Server-Admin Last edited by Jiaz; 18.11.2022 at 15:37. |
#5
|
|||
|
|||
![]()
Update
With the newest rev.47130 core update, some links are still not getting recognized(missing audio codec) as they did back in september, more example links are updated below. ------------------------------------------------------------------------------- Guys, sorry for the late reply, issue is Just as a side note, I examined the output of "ffprobe.exe -loglevel 48 -show_format -show_streams -analyzeduration 15000000 -of json -i URL", and noticed that the output contains duration info, so I guess it would be really awesome if duration can be sorted on the LinkGrabber tab just like what we can do with file size. Please see below for example links and further relevent info. **External links are only visible to Support Staff****External links are only visible to Support Staff** Last edited by rdlnwdj; 25.11.2022 at 02:46. Reason: update current situation |
#6
|
||||
|
||||
![]()
@rdlnwdj: nothing to be sorry for. I wil take look at your pastebin as soon as I find time. You can also send mail to support@jdownloader.org so we can talk about it,but no need to!
__________________
JD-Dev & Server-Admin |
#7
|
||||
|
||||
![]() Quote:
If you want to sort items by duration, you can do this using a custom EventScripter script. You can access the duration via plugin property "duration_estimated_millis".
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download |
#8
|
|||
|
|||
![]()
if (name == "Sort Package(s) by 'Duration'") {
var Duration[] = lgSelection.duration_estimated_millis; Wish I could do it as you suggested, but this is as far as I can get in terms of EventScripter, I added a buttom named "Sort Package(s) by 'Duration'" to the LinkGrabber tab, but I got stuck on EventScripter part, help is appreciated. |
#9
|
||||
|
||||
![]()
Please post EventScripter related questions in our EventScripter thread.
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download |
#10
|
|||
|
|||
![]()
Hey, I just realized that EventScripter might not be suitable for this usecase. Displaying duration on the LinkGrabber tab is not achievable through EventScripter, even if one manage to sort items by duration using EventScripter, he would not know exactly how long a video is without manually checking it again.
|
#11
|
|||
|
|||
![]()
And I do understand your decision to not include duration on the LinkGrabber tab when it comes to general videos, but for HLS streams, the situation is a little different, extimated filesizes sometimes deviate too much from the actual ones(mostly because many HLS streams nowadays use scene based encoding, opening titles with complicated effects and fast moving/switching scenes tend to give ffprobe wrong estimation on average bitrates), but duration values are most likely accurate, so instead of displaying only estimated filesizes calculated from duration and estimated bitrates, so please reconsider the necessity of "duration" column for HLS streams.
|
#12
|
|||
|
|||
![]()
Update:
@mgpai helped me find a easier way to achive this, namely, by adding duration values to comment, I used a simple packagizer rule and @pspzockerscene I checked your posts in this thread, and tried several m3u8 link properties in packagizer, "height, width, hlsBandwidth, duration_estimated_millis" did return values, while "hlsBandwidthAverage, bitrate, framerate, ffmpeg_codec_type, ffmpeg_codec_name, m3u8_codecs, m3u8_name" did not return any value. Last edited by rdlnwdj; 23.11.2022 at 22:47. Reason: not fixed |
#14
|
||||
|
||||
![]() Quote:
I understand that this would be super nice and indeed it would probably be the best to be able to add custom columns and tell JD "use plugin property <duration>, put it in that column and maybe format it to data type <timeHumanReadable>" but at this moment that's just out of reach. Quote:
Are the estimated filesizes mostly too high or too low? Are they much better when doing another linkcheck afterwards or adding links with "Crawl mode: Slow"? Quote:
Quote:
When single-checking links, JD will obtain much more information by doing the FFprobe step. In "Fast" or "Superfast crawl mode(s)", JDownloader will only be able to obtain the information given inside "master.m3u8" (hls list containing multiple streams) let's call it the "master playlist" and that information can vary. The problem is that JD will only go through the Packagizer rules one time so when fast-adding links some information might be missing at that point as single online-check will be skipped. That information will be available later on downloadstart or when manually single-linkchecking such files. Here are your options: If you want to use the Packagizer and don't care about the speed: - Set m3u8 Crawl Mode to "Slow" and that will work just fine If you do care about speed + filenames: - Use an EventScripter script instead of a Packagizer rule (much more complex!) so your filenames can be auto-altered at a later stage when all of those properties become available Jiaz will look into this once he finds the time.
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download |
#15
|
||||
|
||||
![]()
Yes, the example below is actually 17.5GiB in size, while detected as 21.26GiB.
**External links are only visible to Support Staff**ffprobe -loglevel 48 -show_format -show_streams -analyzeduration 15000000 -of json -i "**External links are only visible to Support Staff** logs as well as mediainfo of downloaded file With HLS streams, extimated filesizes are mostly higher, and depending on complexity of beginning scenes, slightly or much higher. Quote:
Quote:
Quote:
Quote:
![]() Got it. Meanwhile I'll keep testing on new releases to see if problem gets solved and would update here asap. Last edited by rdlnwdj; 30.11.2022 at 10:42. |
#16
|
|||
|
|||
![]()
For anyone who would like to sort duration of HLS streams in linkgrabber tab, , first add a packagizer rule to add <jd:prop:duration_estimated_millis> to comments, then create your custom 'sort by duration' buttom and try the following EventScripter code by our script master mgpai.
Code:
/* sort by duration trigger: Toolbar button pressed */ if (name == "sort by duration") { getAllCrawledPackages().forEach(function(package) { package.downloadLinks.filter(function(link) { return link.comment.match(/^[\d]+$/); }).sort(function(a, b) { return a.comment - b.comment; }).reverse().forEach(function(link) { callAPI("linkgrabberv2", "moveLinks", [link.UUID], -1, package.UUID); }) }) } |
#17
|
||||
|
||||
![]() Quote:
That hyperlink to a pastebin appears to be offline. Quote:
Quote:
Maybe we could add some "factor" setting to let users have an influence on this? But I still wonder why such a setting should be useful for anyone... Quote:
The resolution will be available once such items get "fully checked" once in linkgrabber/on-downloadstart ![]() Nice one!
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download |
#18
|
||||
|
||||
![]()
I agree with this. Better a higher estimation and enough disk space than lower estimation and user wonders why it takes longer and maybe not enough disk space available
__________________
JD-Dev & Server-Admin |
#19
|
||||
|
||||
![]() Quote:
SuperFast = do not trust estimated file size Fast = if (average)bandwidth is available, estimate file size Slow = use ffprobe to obtain information Auto-SuperFast -> SuperFast only if video + resolution or no video Auto-Fast -> Fast only if video + resolution or no video I'm sorry but I don't see us adding native column with such meta information. At least not in near future, because this information is not available in many cases. Your *workaround* via Eventscripter and accessing the properties is quiet nice!
__________________
JD-Dev & Server-Admin Last edited by Jiaz; 06.12.2022 at 20:24. |
#20
|
|||
|
|||
![]() Quote:
Quote:
Quote:
Last edited by rdlnwdj; 10.12.2022 at 02:41. |
#21
|
||||
|
||||
![]() Quote:
__________________
JD-Dev & Server-Admin |
#22
|
|||
|
|||
![]() Quote:
;) Last edited by rdlnwdj; 14.12.2022 at 01:19. |
#23
|
||||
|
||||
![]()
@rdlnwdj: possible to provide non IPv4 URL or only available as IPv6?
Does it always fail or just for IPv6 URLs? Maybe the IPv6 somehow causes the ffprobe in JDownloader to fail. I will have to check and get hands on IPv6 connectivity here
__________________
JD-Dev & Server-Admin Last edited by Jiaz; 13.12.2022 at 12:28. |
#24
|
|||
|
|||
![]() Quote:
Quote:
Also, forgot to mention, I updated the ffmpeg and ffprobe binary originally downloaded by jdownloader, and the log of ffprobe I provided was generated using that ffprobe binary(pastbin updated). **External links are only visible to Support Staff****External links are only visible to Support Staff** The build used: ffmpeg-master-latest-win64-gpl-shared.zip from **External links are only visible to Support Staff****External links are only visible to Support Staff** Screenshot of crawled link from rev.47198 core and m3u8 plugin set to slow mode: **External links are only visible to Support Staff****External links are only visible to Support Staff** Last edited by rdlnwdj; 14.12.2022 at 01:29. |
#25
|
||||
|
||||
![]()
@rdlnwdj: took a look at this again and found the cause. the stream uses mpeg2(mp2) for audio codec and this one was not yet support/detected internally
Quote:
__________________
JD-Dev & Server-Admin |
#26
|
||||
|
||||
![]()
@rdlnwdj:mp2 audio codec will be correctly recognized with next core update. In case this happens again for other codecs in future, please either provide output of ffprobe or example link
![]()
__________________
JD-Dev & Server-Admin |
#27
|
|||
|
|||
![]() Quote:
![]() |
#28
|
||||
|
||||
![]()
@rdlnwdj: Thank me once the update is live and it's working for you
![]()
__________________
JD-Dev & Server-Admin |
#29
|
|||
|
|||
![]() Quote:
|
![]() |
Thread Tools | |
Display Modes | |
|
|