最近在linux上,源码编译安装了ffmpeg和vlc。
使用vlc播放mp4或mp3时,出现提示:
h26x demux error :this doesn't look like a h264 ES stream ,continuing anyway
然后就是各种h264的错误,最后提示:
main decoder error: Codec 'h264' (H264 - MPEG-4 AVC (part 10)) is not supported。
包括播放mp3音乐文件也有提示1.
先执行了vlc --list,看到有avcodec,h26x,h264,
又用ffmpeg自带的简单播放器:ffplay播放视频文件,发现正常播放。
结合错误信息,估计是demux的问题。
在vlc --list 中看到mp4还有一个demuxer:mp4,
使用命令:
vlc /mp4:///PATH/To/MP4/file
来强制为vlc指定使用mp4这个demux来播放指定文件,发现正常,
所以是
vlc的demux问题。h26x demux不能demuxmp4等文件,要用mp4或libavformat(ffmpeg的)。
于是打开vlc的配置文件,在linux中为:
home目录下的.config/vlc/vlcrc
找到
demux=h26x
一行,改爲:
demux=avformat
保存,即可。
這樣,vlc默认使用libavformat的demux来播放各种文件。