[leap42.2]vlc can't play ANY audio content & parole can't play mp4videos

vlc can’t play ANY audio content & parole can’t play mp4 videos on my
Dell Inspiron 15 with 4 x86_64 processors

The laptop was shipped as a win7 machine. I have a collection of downloaded
YouTube videos. Some of which are .webm files which parole can handle. But
a lot of them are older .mp4 videos that I would like to be able to watch
again. I used to like the way parole managed a playlist.pls list of videos
But I found that on leap parole can’t handle mp4 playback:

  • {note vlc info below}

parole attempting to play an mp4 file:


additional software is required.
Parole needs MPEG4 AAC decoder to play this file
it can be installed automatically


** Message: PackageKit: xid = 33556106
** Message: PackageKit: desktop_id = (null)
** Message: PackageKit: Codec nice name: MPEG-4 AAC decoder
** Message: PackageKit: ignoring field named level
** Message: PackageKit: ignoring field named base-profile
** Message: PackageKit: ignoring field named profile
** Message: PackageKit: field is: mpegversion, type: gint
** Message: PackageKit: structure: gstreamer1(decoder-audio/mpeg)(mpegversion=4)()(64bit)
** Message: PackageKit: Did not install codec: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.PackageKit was not provided by any .service files

Also I attempted to search for an applicable MPEG-4 AAC decoder
with zypper but failed to find anything that does the job.

So I decided to go with vlc because it can handle both webm and mp4 video files.

Unfortunately on my Dell laptop {which I use for nighttime playback because
I can place it where I can reach the pause and other playback controls from
the recliner I sleep in.} I can NOT get any sound with the pulseaudio device.
It does not matter if I have my external {headphone jack} speakers connected
or fallback on the laptop’s rather tinny built in speakers…

vlc attempting to play ANY video file {video will play but sound fails}:


Audio output failed:
The audio device "default:CARD=PCH" could not be used:
Invalid argument.

I tried manually selecting every single audio device that vlc lists
under audio > audio device:

And none produced any sound output regardless of whether my external
headphone jack speakers were plugged in or not.

Also the choice on that list that refers to alsa always insists that it’s
current default is pulseaudio (which, of course, fails) even if I’ve
already selected the non-default card that alsamixer can make work
as explained in the folowing paragraph. I’m not sure but I think this
problem would be solved if I could change the alsa default to something
other than the pulseaudio device. Though I’d much rather be able to
add a MPEG-4 AAC decoder codec to parole…

But I don’t have a clue how or if I can do either of those???

I note that I have little difficulty using mocp {music on console} to
play my music. Nor is it hard to get sound when I use Google Crome to
stream videos from hulu. Though in both cases to get decent sound from
either I need to enable my “headphone” speakers by opening alsamixer in
a konsole window, selecting the nondefault soundcard and usually unmuting
the headphone channel that feeds my speakers. I also note that using the
above methods Parole has no problem paying the audio content of my .webm
files…

I should probably mention that I don’t actually use KDE. Though I still
like a few kde apps such as Konsole, Yakuake and okular to name a few.
What I do use is openbox. Started via startx from a Konsole after my
user specific environmental variables have been set in my .bashrc.

Can anyone offer any suggestions on how I can playback my mp4 files
(with sound) and preferably from a playlist mixed in with my webm
files? Thanks!

Are you using the packman packager packaged version of vlc ? Did you install ‘vlc-codecs’ ?

I would like to challenge that conclusion if possible, to see if there IS a way to get pulse audio working. Are you willing to also investigate that possible approach ?

It would appear that on Aug 25, oldcpu did say:

> Are you using the packman packager packaged version of vlc ? Did you
> install ‘vlc-codecs’ ?

Yup, both are the packman versions. But I note my problem with vlc
isn’t the video codecs. Those, unlike the ones available to parole,
work fine. Even with my problematic mp4 files. That is the video does
play, silently.
With vlc I seem unable to get sound output regardless of whether
the video file is .webm {which parole can handle} or .mp4 {for which
parole has no access to the needed codec}

That was a good point though. I was already sure about the vlc version
but i did double check it when I checked on the ‘vlc-codecs’ package.
Thanks.

Did you try in vlc “tools” > “preferences” => “audio => audio settings => output” => ‘output modules’ => ‘alsa’ … ie try ‘alsa’. Note after selecting ‘alsa’ you may need to then go to “tools” > “preferences” => “audio => audio settings => output” => “Device” and select the appropriate device. Further, note you may need to restart vlc between each and every selection to see if it work. i.e. vlc may need to be restarted for the new audio selection to be applied.

If that doesn’t work, then in case ‘pasuspender’ is installed, try in an xterm the command to start vlc:

pasuspender vlc

and then try to see if the ‘alsa’ option under “tools” > “preferences” => “audio => audio settings => output” => ‘output modules’.
work. Again, don’t forget you may need to tune the ‘device’ setting after selecting alsa.

It would appear that on Aug 25, oldcpu did say:

> jtwdyp;2835457 Wrote:
> >
> > Unfortunately on my Dell laptop … I can NOT get any sound with the
> > pulseaudio device. It does not matter if I have my external {headphone
> > jack} speakers connected
> > or fallback on the laptop’s rather tinny built in speakers…
>
> I would like to challenge that conclusion if possible, to see if there
> IS a way to get pulse audio working. Are you willing to also
> investigate that possible approach ?

Depending on what I’d need to change on my system to do so, yes!

To illustrate what I perceive as part of the problem I attempted to
play an .mp4 with vlc from the bash command line {in a Konsole session}:


JtWdyP -> ~/videos/RescueSpecOpps
> vlc 'Rescue Special Ops - S02E11 Off The Rails.mp4'
VLC media player 2.2.4 Weatherwax (revision 2.2.3-37-g888b7e89)
[000055a2566220c8] core libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
ALSA lib conf.c:4974:(snd_config_expand) Unknown parameters CARD=PCH
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM default:CARD=PCH
[000055a2566f7618] alsa audio output error: cannot open ALSA device "default:CARD=PCH": Invalid argument
[000055a2566f7618] core audio output error: module not functional
[00007f5f450aa7c8] core decoder error: failed to create audio output
libva info: VA-API version 0.39.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib64/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_39
libva info: va_openDriver() returns 0
[00007f5f44f31418] avcodec decoder: Using OpenGL/VAAPI backend for VDPAU for hardware decoding.
QObject::~QObject: Timers cannot be stopped from another thread
JtWdyP -> ~/videos/RescueSpecOpps
>

I note that by default it does make use of the alsa lib(s) I also
notice that the ALSA lib error messages say “CARD=PCH”
Yet if I open alsamixer to select the card that generally works
it calls it “HDA Intel PCH”

And that vlc’s pop-up sound error {which I was amazed could actually
be copied to the clipboard} said:


Audio output failed:
The audio device "default:CARD=PCH" could not be used:
Invalid argument.

This looks to me like vlc actually wants to use the same card that I
usually manually select in alsamixer but that there may be a mismatch
in the actual name of the card???

If so, solving that would be much better than being able to change the
Default ALSA Output… Except that the list of audio devices that were
available to manually select had included:
HDA Intel PCH ALC3234 Analog Default Audio Device
and several choices for routing the output of that device to the front
speakers and various surround sound options. NONE OF WHICH WORKED!

I also note that I have a vague memory of having bumped into this
problem with sound on vlc once before. It might have been with Leap 42.1
In which case it wouldn’t have been enough of an issue for me to
pursue it at the time, because back then my primary Linux was Mageia 5
where parole could still play .mp4 files. AND though I can’t remember
how, There was something I could do that at least temporarily changed
the Default ALSA Output choice in vlc’s audio device list to something
that worked. What ever it was it didn’t involve modifying any
configurations per se but some sequence that may have involved the
timing of when I selected the working card in an alsamixer dialog.
All I can remember is that if I “tricked” the vlc audio device menu
into saying something in the alsa output choice other than that the
default was currently pulseaudio, I was able to get the sound working
for the remainder of the vlc session.

Now however Leap IS my primary OS and I’d usually have to close too many
open projects to reboot into Mageia to be worth it just to watch a
video. And I’ve learned that I need to upgrade my mageia to mageia 6
while the upgrade path still exists and I don’t know if their version
of parole can still play the mp4 files…

So what do you think I’d need to do to get pulseaudio working on my
laptop??

The AAC codec is one of the most commonly used, and should be included in the vlc codecs.
Also, you should know that the file extensions like .mp4 and .webm are merely “containers” that among things allow you to associate those files with a particular playback application so the file can play “automatically” so have nothing to do with whether you can hear audio or not. <Within> the “container” the content is encoded and this is where a codec like AAC is required.

So, don’t rely on file extensions to troubleshoot your problem.
Instead, if necessary use a tool like MediaInfo (should be in the OSS) to analyze your file and determine the codecs you need.

TSU

your vlc config looks strange did you play with the options
maybe try removing the vlc config folder (or try it out on a fresh test user account)
about the audio I’d recommend using yast->hardware->sound and see if your audio hardware is detected and properly configured
try
https://en.opensuse.org/SDB:Audio_troubleshooting
also a full vendor change to packman is a must just installing vlc-codecs is not enough what’s your repo list

zypper lr -d

I concur with I_A, the first and prominent question should always be: did you do the vendor switch to Packman.

Thank you oldcpu for the description of how to set the audio settings
in tools > preferences. And for the info on pasuspender {which is
installed though I didn’t know it existed.} I will try these things
sometime when I’m more awake.

I will reply in more detail when I’ve tried these things.

But possibly because my brain is tired, I’m not quite sure what you
meant when you said:
> Again, don’t forget you may need to tune the ‘device’ setting
> after selecting alsa.
Would you mind expanding on that a little?


jtwdyp

It would appear that on Aug 25, tsu2 did say:

> The AAC codec is one of the most commonly used, and should be included
> in the vlc codecs.

What I don’t understand is why that commonly used codec isn’t
available for parole {which I happen to like better than vlc}

> Also, you should know that the file extensions like .mp4 and .webm are
> merely “containers” that among things allow you to associate those files
> with a particular playback application so the file can play
> “automatically” so have nothing to do with whether you can hear audio or
> not. <Within> the “container” the content is encoded and this is where a
> codec like AAC is required.

Somewhere in the back of my mind I know that’s true but I can never
remember how to describe the “content encoding” correctly. So since
I’ve yet to find an mp4 container that the current parole doesn’t
complain about the missing AAC codec nor a single webm container that
it needs said codec for, I fell back on referring to the files by the
extensions.

> so have nothing to do with whether you can hear audio or not.

That I knew. As I tried to explain, since I can’t seem to get the AAC
codec for parole my fall back plan was to use vlc which does have the
AAC codec. But has a separate problem that keeps it from playing
sounds on my laptop. Which problem has nothing to do with the video codecs
and everything to do with my not knowing how to set it to use my sound card
setup nor how to get my sound configured to cooperate with it…

> So, don’t rely on file extensions to troubleshoot your problem.
> Instead, if necessary use a tool like MediaInfo (should be in the OSS)
> to analyze your file and determine the codecs you need.

Do you mean that vlc might depend on a specific codec to use my
laptop’s sound card?? Since it’s the only application I have that fails
to play any sound regardless of which type of media file it’s
playing the video portion of, I didn’t think that part could require a
special codec.

But it can’t hurt to check out this MediaInfo tool you mention. It
might tell me something useful.

Thanks

jtwdyp

It would appear that on Aug 26, I A did say:

> your vlc config looks strange did you play with the options
> maybe try removing the vlc config folder (or try it out on a fresh test
> user account)

Not yet I haven’t, wouldn’t know what options to play with. Though if
I’m going to try oldcpu’s latest suggestions I think I better find and
back-up said folder. Or maybe just rename it to see if the new folder
that will no doubt be automatically generated by vlc is any different.

The only thing I’ve done to the default vlc setup is to attempt runtime
selection of an alternative audio device selection.

> about the audio I’d recommend using yast->hardware->sound and see if
> your audio hardware is detected and properly configured
> try
> https://en.opensuse.org/SDB:Audio_troubleshooting

That sounds like a good idea. When my brain isn’t too tired for it.
Will eventually reply with the results. Thanks for the link!

> also a full vendor change to packman is a must just installing
> vlc-codecs is not enough what’s your repo list

I did that a LONG time ago. And repeat it every time I upgrade my
opensuse installation to the next version.

> Code:
> --------------------
> zypper lr -d
> --------------------

OK. But note I’ve rarely remove repos when I no longer seem to need
them. I simply disable them but leave them in place as a reminder that
they exist in case I should need them again someday. So please don’t
worry about the disabled ones…


UnderTree=-> zypper lr -d
Repository priorities are without effect. All enabled repositories share the same priority.

#  | Alias                               | Name                                    | Enabled | GPG Check | Refresh | Priority | Type   | URI                                                                      | Service
---+-------------------------------------+-----------------------------------------+---------+-----------+---------+----------+--------+--------------------------------------------------------------------------+--------
1 | download.opensuse.org-non-oss       | Main Repository (NON-OSS)               | Yes     | (r ) Yes  | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/leap/42.2/repo/non-oss/        |
2 | download.opensuse.org-non-oss_1     | Update Repository (Non-Oss)             | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/42.2/non-oss/                   |
3 | download.opensuse.org-oss           | Main Repository (OSS)                   | Yes     | (r ) Yes  | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/leap/42.2/repo/oss/            |
4 | download.opensuse.org-oss_1         | Main Update Repository                  | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/42.2/oss                        |
5 | dvd                                 | dvd                                     | No      | ----      | ----    |   99     | rpm-md | http://opensuse-guide.org/repo/openSUSE_Leap_42.2/                       |
6 | google-chrome                       | google-chrome                           | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://dl.google.com/linux/chrome/rpm/stable/x86_64                      |
7 | http-download.opensuse.org-51666e9b | X11:Sugar                               | No      | ----      | ----    |   99     | rpm-md | http://download.opensuse.org/repositories/X11:/Sugar/openSUSE_Leap_42.2/ |
8 | openSUSE-42.2-0                     | openSUSE-42.2-0                         | Yes     | (r ) Yes  | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/leap/42.2/repo/oss/            |
9 | openSUSE-Leap-42.2-Update           | openSUSE-Leap-42.2-Update               | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/42.2/oss/                       |
10 | openSUSE-Leap-42.2-Update-Non-Oss   | openSUSE-Leap-42.2-Update-Non-Oss       | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://download.opensuse.org/update/leap/42.2/non-oss/                   |
11 | packman                             | packman                                 | Yes     | (r ) Yes  | Yes     |   99     | rpm-md | http://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_42.2/       |
12 | repo-debug                          | openSUSE-Leap-42.2-Debug                | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/distribution/leap/42.2/repo/oss/      |
13 | repo-debug-non-oss                  | openSUSE-Leap-42.2-Debug-Non-Oss        | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/distribution/leap/42.2/repo/non-oss/  |
14 | repo-debug-update                   | openSUSE-Leap-42.2-Update-Debug         | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/update/leap/42.2/oss                  |
15 | repo-debug-update-non-oss           | openSUSE-Leap-42.2-Update-Debug-Non-Oss | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/debug/update/leap/42.2/non-oss/             |
16 | repo-source                         | openSUSE-Leap-42.2-Source               | No      | ----      | ----    |   99     | NONE   | http://download.opensuse.org/source/distribution/leap/42.2/repo/oss/     |
~
UnderTree=->


jtwdyp

It would appear that on Aug 26, hcvv did say:

> I concur with I_A, the first and prominent question should always be:
> did you do the vendor switch to Packman.

I absolutely concur with the both of you about that. Did that a long
long time ago and repeat the process every time I zypper dup to a new
release. A long time ago when I was more used to fighting with apt-get
I didn’t know about that and along with using zypper dup as
indiscriminately as a ubuntu user might do an apt-get dist-upgrade
I well and truly broke enough opensuse installations to learn those
two lessons.

It’s become so automatic to me that I’m no longer likely to think to
mention that I did the “vendor switch” until someone asks.

But thanks for making sure I noticed how important it is. There was a
time when that advice could have kept me from borking my whole system.
Thanks

jtwdyp

Eureka! vlc’s sound problem is solved.

It would appear that on Aug 25, oldcpu did say:

> Did you try in vlc “tools” > “preferences” => “audio => audio settings
> => output” => ‘output modules’ => ‘alsa’ … ie try ‘alsa’. Note after
> selecting ‘alsa’ you may need to then go to “tools” > “preferences” =>
> “audio => audio settings => output” => “Device” and select the
> appropriate device. Further, note you may need to restart vlc between
> each and every selection to see if it work. i.e. vlc may need to be
> restarted for the new audio selection to be applied.

I never would have tried setting the sound output preference this way because
the error message complained about not being able to use the device {card} and
I believed the {runtime?} selection list in audio => device to be every device
vlc could offer me. Had one of them worked I’d have tried to find a preference
setting to make it the default.

Since the apparent default for the ALSA choice {which failed} was Pulseaudio I
didn’t think Pulaeaudio would work. But when I looked at the preference
setting you described I found that it was already set ti ALSA. So I tried
setting the preference to Pulseaudio and it worked.

I’m now thinking that my ALSA implementation is what has a problem using the
Pulseaudio device.

I still wish I could have supplied parole with the missing codec because I
like paroles user interface better. But with vlc’s sound problem solved that’s
no longer worth spending much time and energy trying to solve.

I’d Like to thank everyone who chipped in with advice in an effort to help me
solve this…

THANKS!


jtwdyp

I am happy to read this is now working. Congratulations on the determination to see this through to get it working.