Homebrew / homebrew-core

🍻 Default formulae for the missing package manager for macOS (or Linux)
https://brew.sh
BSD 2-Clause "Simplified" License
13.39k stars 12.17k forks source link

[mplayer] Cannot find codec for audio format 0x7375704F #131501

Closed superbonaci closed 10 months ago

superbonaci commented 1 year ago

brew gist-logs <formula> link OR brew config AND brew doctor output

$ brew config
HOMEBREW_VERSION: 4.0.18
ORIGIN: https://github.com/Homebrew/brew
HEAD: b0dc84b117f54f6b18e0528b95477c54e409ebdd
Last commit: 8 days ago
Core tap origin: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 13fbfcc990a848deecc6dfbbc08561634f2e8c0c
Core tap last commit: 3 months ago
Core tap branch: master
Core tap JSON: 20 May 16:12 UTC
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_CASK_OPTS: ["--no-quarantine"]
HOMEBREW_MAKE_JOBS: 8
Homebrew Ruby: 2.6.10 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
CPU: octa-core 64-bit arm_firestorm_icestorm
Clang: 14.0.3 build 1403
Git: 2.40.1 => /opt/homebrew/bin/git
Curl: 7.87.0 => /usr/bin/curl
macOS: 13.3.1-arm64
CLT: 14.3.0.0.1.1679647830
Xcode: N/A
Rosetta 2: false

$ brew doctor
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: Some installed formulae are deprecated or disabled.
You should find replacements for the following formulae:
  brew-pip

Verification

What were you trying to do (and why)?

Try to play a video file with mplayer

What happened (include all command output)?

mplayer fails to entirely play the file:

$ mplayer video.webm
MPlayer 1.5-14.0.0 (C) 2000-2022 MPlayer Team
Can't init Apple Remote.

Playing video.webm.
libavformat version 59.17.102 (internal)
libavformat file format detected.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x101787e40]Protocol name not provided, cannot determine if input is local or a network protocol, buffers and access patterns cannot be configured optimally without knowing the protocol
[lavf] stream 0: video (vp9), -vid 0
[lavf] stream 1: audio (opus), -aid 0, -alang und
VIDEO:  [vp09]  1920x1080  24bpp  30.000 fps  3280.8 kbps (400.5 kbyte/s)
[gl] using extended formats. Use -vo gl:nomanyfmts if playback fails.
==========================================================================
Cannot find codec matching selected -vo and video format 0x39307076.
==========================================================================
Clip info:
 major_brand: isom
 minor_version: 512
 compatible_brands: isomiso2mp41
 encoder: Lavf60.3.100
Load subtitles in ./
==========================================================================
Cannot find codec for audio format 0x7375704F.
Audio: no sound
Video: no video

Exiting... (End of file)

What did you expect to happen?

just work

Step-by-step reproduction instructions (by running brew commands)

brew install mplayer
github-actions[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

superbonaci commented 1 year ago

Up

github-actions[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

superbonaci commented 1 year ago

Up

gromgit commented 1 year ago

According to mplayer's own codec support page, neither the specific VP9 video codec (0x39307076) nor the specific Opus audio codec (0x7375704F) are supported, so there's nothing that Homebrew can do to make this formula "just work" for your specific video file.

You'll either have to ask the mplayer developers to add the necessary support (they'll probably need your video file to test against too), or try a different player like mpv or vlc.

superbonaci commented 1 year ago

You have to compile it with support for those codecs. Reade here: 2015-10-03, Saturday :: MPlayer 1.2 released

A lot of new codecs, thanks to FFmpeg. The list includes HEVC, VP9 and Prores; Opus, improved AAC and DTS decoders; WebP and JPEG2000; and many, many others. Also rtsp streaming now uses FFmpeg by default, so you don't need any additional library to use it.

gromgit commented 1 year ago
$ which mplayer
/home/linuxbrew/.linuxbrew/bin/mplayer

# Playing on a headless box, so I'm setting video and audio output devices to null
$ mplayer -vo null -ao null ~/tmp/Mother\ Teresa:\ No\ Greater\ Love\ \[xUHM2Cepqpo].webm 
MPlayer 1.5-11 (C) 2000-2022 MPlayer Team

Playing /home/aho/tmp/Mother Teresa: No Greater Love [xUHM2Cepqpo].webm.
libavformat version 59.17.102 (internal)
libavformat file format detected.
[lavf] stream 0: video (vp9), -vid 0
[lavf] stream 1: audio (opus), -aid 0, -alang eng
VIDEO:  [VP90]  2048x864  0bpp  29.970 fps    0.0 kbps ( 0.0 kbyte/s)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 59.21.100 (internal)
[vp9 @ 0x55c36d6e00e0]Requested frame threading with a custom get_buffer2() implementation which is not marked as thread safe. This is not supported anymore, make your callback thread-safe.
Selected video codec: [ffvp9] vfm: ffmpeg (FFmpeg VP9)
==========================================================================
Clip info:
 ENCODER: Lavf59.27.100
Load subtitles in /home/aho/tmp/
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
[opus @ 0x55c36d6e00e0]Could not update timestamps for skipped samples.
AUDIO: 48000 Hz, 2 ch, floatle, 0.0 kbit/0.00% (ratio: 0->384000)
Selected audio codec: [ffopus] afm: ffmpeg (FFmpeg opus)
==========================================================================
AO: [null] 48000Hz 2ch floatle (4 bytes per sample)
Starting playback...
Movie-Aspect is 2.37:1 - prescaling to correct movie aspect.
VO: [null] 2048x864 => 2048x864 Planar YV12 
Movie-Aspect is 2.37:1 - prescaling to correct movie aspect.
VO: [null] 2048x864 => 2048x864 Planar YV12 
A:   0.0 V:   0.0 A-V:  0.005 ct:  0.000   0/  0 ??% ??% ??,?% 0 0 
[VD_FFMPEG] DRI failure.
A:  47.9 V:  47.9 A-V: -0.001 ct:  0.000   0/  0 33%  0%  1.3% 0 0 

Exiting... (Quit)

Clearly, Homebrew mplayer DOES support VP9 and Opus. Like I said:

According to mplayer's own codec support page, neither the specific VP9 video codec (0x39307076) nor the specific Opus audio codec (0x7375704F) are supported

superbonaci commented 12 months ago

Let me find some examples on the internet and attach them.

github-actions[bot] commented 11 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

superbonaci commented 11 months ago

not stale

gromgit commented 11 months ago

@superbonaci, try doing this instead (which I've already briefly suggested earlier):

  1. Contact the MPlayer developers directly.
  2. Share with them the specific video file that you can't play.
  3. Ask them what it would take to get MPlayer to play that file.
  4. Share that info here.

It would almost certainly yield more productive results, than repeatedly bumping this issue while trying to persuade Homebrew maintainers and helpers like myself to enable support for your specific codecs that none of us can figure out.

superbonaci commented 11 months ago

@gromgit the bug has been reported to mplayer: Can't play 0x7fb2198aca40 and 0x39307076 and 0x10350ab28

github-actions[bot] commented 10 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.