"extractFrames" get parameter is added by PDFTron while fetching previews

Greetings!

I’ve faced with issues about how webviewer + webviewer-video are consuming HLS links.

Following documentation, I’m trying to load the video in the following way:

const videoURL = "https://amazon-cloudfront.com/VIDEO_ID/playlist.m3u8?Key-Pair-Id=key"
const viewer = await initializeVideoViewer(instance)
await viewer.loadVideo(videoURL)

That works well, I can play video, go through any video moment, however, annotations’ previews and frames are black.

I’ve revealed that when I try to open frames or there’re some annotations exist, the webviewer is trying to make the request using my videoURL with one more query parameter extractFrames=true. E.g.:

https://amazon-cloudfront.com/VIDEO_ID/playlist.m3u8?Key-Pair-Id=key&extractFrames=true.

Therefore, such requests fail because the URL has been signed with the key for CloudFront so therefor adding more parameters will fail the key signature.

So the question is: is there a way to intercept each request and manually remove extractFrames query parameter?
Or is there some special purpose for this query parameter?

Thank you!

Hello, I’m Ron, an automated tech support bot :robot:

While you wait for one of our customer support representatives to get back to you, please check out some of these documentation pages:

Guides:APIs:Forums:

Hello,

Thank you for your bug report!

The query param is there for historical reasons but not needed anymore. We will remove it in a patch. I can get it to you in a few days. Just to make sure there are no edges cases.

Best Regards,

Kristian Hein

Developer - WebViewer

PDFTron Systems, Inc.

www.pdftron.com

CONFIDENTIALITY NOTICE: This message (and any attachment to it) is intended only for the use of the individual or entity to which it is addressed in the header, and may contain information that is privileged, confidential and exempt from disclosure under applicable law. Any reproduction, distribution, modification or use of the contents of this message (and any attachment to it) by any individual or entity other than the intended recipient is prohibited. If you have received this communication in error, please notify us immediately and delete the original.

Check your ticket status - https://support.pdftron.com/support/tickets/36492

Hello @Kristian_Hein ,

Sure, thank you. It would be helpful.

Hello @ihor.levchenko ,

I removed the query param in v4.26.5 of webviewer-video. Please try it out and let me know if you encounter any other issues.

  • Kristian

@Kristian_Hein
Thank you for the update.

I have checked already, and that looks good to me. Thank you for your work.

The only thing is… ffprobe request is failing with 504 error. So, once PDFTron loaded, frames previews loading stuck until ffprobe request finally ends (in my case fail), then all previews continue to appear.

Probably, ffprobe doesn’t work with HLS streams correctly?

I can provide more details if necessary. Let me know.

Hello @ihor.levchenko ,

I don’t believe we support HLS files. Does the video play after loading it? Would it be possible to share the file with us so we can investigate further?

Thanks,
Kristian