IENT / YUView

The Free and Open Source Cross Platform YUV Viewer with an advanced analytics toolset
http://ient.github.io/YUView
Other
1.88k stars 369 forks source link

When opening AV1 files, the application shows "Error opening file: Unable to obtain a valid pixel format from file." #558

Open dscp46 opened 8 months ago

dscp46 commented 8 months ago

Describe the bug When opening AV1 files, the application shows "Error opening file: Unable to obtain a valid pixel format from file."

To Reproduce Steps to reproduce the behavior:

  1. Press Ctrl+O to open file
  2. Select "201411_blender_big_buck_bunny_24fps_1080p_av1.mp4" then click on "Open"
  3. Error is shown on screen (see below for screenshot).

The issue has been reproduced with other container types, and other AV1 files. Please note that all the tested files are properly played and rendered by VLC.

Could you send me a valid test file so I can confirm if it's a file issue or a legitimate bug?

Expected behavior A clear and concise description of what you expected to happen.

Screenshots image image image image image

Version (please complete the following information):

ChristianFeldmann commented 8 months ago

Hi! Thx for the report. Could you send me the file? If you can not share it publicly then you can also send it to me vial E-Mail. Christian

dscp46 commented 8 months ago

Hi,

Here are the files as requested: 201411_blender_big_buck_bunny_24fps_1080p_av1.mp4 201411_blender_big_buck_bunny_60fps_2160p_av1.mp4

The MKV versions have been remuxed with ffmpeg (-i filename.mp4 -vcodec copy -acodec copy out.mkv).

Kind regards

ChristianFeldmann commented 8 months ago

I tried to recreate the issue. I observed 2 things:

@dscp46 Do you observe this using FFmpeg as a decoder for AV1 or dav1d. If its FFmpeg, which version are you using.

dscp46 commented 8 months ago

I tried to recreate the issue. I observed 2 things:

* When using the FFmpeg decoder, everything works for me

* When using the dav1d decoder integration, decoding does not work. However, I am getting a different error message:
  ![image](https://private-user-images.githubusercontent.com/11556397/298880188-7c207966-f37f-4793-9383-3f19cd8ec89d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MDYwMDU1MzEsIm5iZiI6MTcwNjAwNTIzMSwicGF0aCI6Ii8xMTU1NjM5Ny8yOTg4ODAxODgtN2MyMDc5NjYtZjM3Zi00NzkzLTkzODMtM2YxOWNkOGVjODlkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDAxMjMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwMTIzVDEwMjAzMVomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWJmNWMxNDhjMGFlMDJlMThkZjk2ZjRhYzE4YzQ3YjA4MmMzMGE5ZDUwNmZkZDQyMGVlYmM0MWFhMTkxNzk4NjMmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.3URkE_djYs3HDpA3dKTDp68omEo6GGjSJQeXHAj6prw)

@dscp46 Do you observe this using FFmpeg as a decoder for AV1 or dav1d. If its FFmpeg, which version are you using.

I got the same message as you when using dav1d from Windows 10 with the last release. When using the flatpak file, are all external libs included inside, or do I need to report the versions of the libs installed on my host OS?

ChristianFeldmann commented 8 months ago

The releases that we ship do not contain ffmpeg or libdav1d. So you have to install ffmpeg on your system and somehow make it discoberable to your system. Or you can specify the library paths in the YUView settings. On debian it should be enough to use your package manager to install ffmpeg to make YUView find it.

dscp46 commented 7 months ago

I've tried to load /usr/lib/x86_64-linux-gnu/libavutil.so.57.28.100, /usr/lib/x86_64-linux-gnu/libavformat.so.59.27.100, /usr/lib/x86_64-linux-gnu/libavcodec.so.59.37.100 and /usr/lib/x86_64-linux-gnu/libswresample.so.4.7.100, which are provided by debian bookworm's repository to no avail: I was told to save the attached file: fail-ffmpeg.log

When trying to load /usr/lib/x86_64-linux-gnu/libdav1d.so.6.6.0, I've got the following error message, which I don't have when loading /usr/lib/x86_64-linux-gnu/libdav1d.so.4.0.2 (an obsolete version I still have from prior my system upgrade from Debian 11 (bullseye), or the one you've supplied on your download menu, but I've got the behaviour mentionned in the first comment of this ticket with them. image

Apparently, the following versions of ffmpeg libs are used when I try to open AV1 files, but I don't understand from where they're pulled, since these versions are not installed on my system: image

dscp46 commented 7 months ago

One thing I've noticed in the info pane is that libdav1d doesn't seem to be selected when valid versions of libdav1d (including the one referenced in the 'Help' menu) is selected and defined as the default AV1 decoder: Capture d’écran du 2024-02-09 12-31-13 Capture d’écran du 2024-02-09 12-31-47