Skip to content

Conversation

@haegrr
Copy link

@haegrr haegrr commented Dec 20, 2022

This PR adds FFProbe support for Blu-Ray ISOs and pertains to Radarr/Radarr#7828. ffprobe is sometimes able to pull incomplete media info if an ISO file is passed directly, but often fails as illustrated in the aforementioned issue. The bluray protocol allows ffprobe to reliably pull information from ISO images, raw devices and folders using libbluray. FFmpeg needs to be built with --enable-libbluray --enable-protocol=bluray for this to work. I'm currently looking into it.

For the tests, I authored a small Blu-Ray ISO image. ffprobe will ignore playlists shorter than 3 minutes in length, which is why this length was chosen. The image deflates down to about 1.4 MiB and was made using public domain video and audio.

I've never coded in C# or used Visual Studio before, so please bear with me :).

@haegrr
Copy link
Author

haegrr commented Jan 2, 2023

@Qstick could you please take a look at this PR, as well as Servarr/ffmpeg-build#9, and let me know what you think?

@Qstick
Copy link
Member

Qstick commented Jan 9, 2023

Can you rebase this to 4.7-sevarr.. 4.8 branch has some issues and thus we aren't yet running it on the apps.

@haegrr haegrr force-pushed the brdisk-iso-support branch from 9a470fb to 2ad7d08 Compare January 9, 2023 12:22
@haegrr haegrr changed the base branch from 4.8-servarr to 4.7-servarr January 9, 2023 12:22
@haegrr
Copy link
Author

haegrr commented Jan 9, 2023

Done.

@Qstick
Copy link
Member

Qstick commented Jan 9, 2023

One question, we get quit a bit of errors due to FFProbe failing on DVDR releases (img files) due to finding codec GEM Raster Image.

Are these handled better or correctly with this bluray code? If not we need to look at deciding when to prefix bluray on IMG files as it could be either.

@haegrr
Copy link
Author

haegrr commented Jan 10, 2023

Good catch. I hadn't considered DVDs at all. 🤦

Are these handled better or correctly with this bluray code?

They are not. Sadly, there doesn't seem to exist similar support for DVDs in FFmpeg (although the idea appears to have surfaced a couple of times on their mailing list).

Could we maybe extend the FFProbe API to accept a "hint" as to the type of media we expect to be dealing with, and pass in whatever we've learned from parsing the release title? This would then apply to ISOs and IMGs.

@haegrr
Copy link
Author

haegrr commented Jan 14, 2023

As as suggestion to the above, I've extended the FFProbe API to accept URIs that can either be regular media files or Blu-Rays.

Used here: haegrr/Radarr@a8d215d

@haegrr
Copy link
Author

haegrr commented Feb 21, 2023

Could we have another look at this?

@mynameisbogdan
Copy link

This isn't really needed for iso files, as the issue with Radarr/Radarr#7828 was just a bad path used on upgrades. And Radarr is far from supporting folders.

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

Successfully merging this pull request may close these issues.

3 participants