Opened 4 years ago
Closed 4 years ago
#2370 closed defect (fixed)
parser not found for codec av1, packets or times may be invalid
Reported by: | nick_dimitrov | Owned by: | beastd |
---|---|---|---|
Priority: | normal | Component: | undetermined |
Version: | unspecified | Severity: | blocker |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Reproduced by developer: | no | Analyzed by developer: | no |
Description
I compiled mplayer subversion 38214
There is a choppy video playback with an AV1 codec, similar to stop motion animation.
How can I deal with this problem?
Thanks.
I attach 3 megabytes of the video file and the output from:
mplayer -v options filename > mplayer.log 2>&1
When using xv,vdpau,gl_tiled,x11the problem is the same.
choppy_video_playback.zip
https://drive.google.com/file/d/1peA91mHNNTqtr29qZBG6XlNHji0gJ0YP/view?usp=sharing
xv_mplayer.log
https://drive.google.com/file/d/1eWRFO5U8tATmcwnXt8bdPdIDo1V7EZXb/view?usp=sharing
I downloaded the video file here:
https://www.elecard.com/videos
Change History (4)
comment:1 by , 4 years ago
comment:2 by , 4 years ago
There is a patch on the mailing list now (needs to be combined with an earlier patch also on the ML).
I'm not sure it's 100% smooth, and the "parser not found" message is a bit strange, not sure if there is still something to be done on FFmpeg side.
Ideally you could test with either that patch of ffplay from FFmpeg to see if it looks good then.
But note that your CPU usage also is quite high, so even after the fixes you might need to optimize things a bit, e.g. enable multithreaded decoding with -lavdopts threads=4 or so.
comment:3 by , 4 years ago
Thanks for your inclusion and your comment!
Some time ago I tested version 4.3.1 on ffplay.
I have some notes on my blog.
https://nikdimnfo.blogspot.com/2019/07/ffplay-static-music-video-with-subtitles.html
But now I have to compile it with hardware acceleration support if possible.
Everything I've written so far I've tested on Ubuntu 18.4.
About the parser a few more words...
This is a result of the ffmpeg version that is downloaded with the subversion 38214 of the mplayer:
nick@nick:~/mplayer/ffmpeg$ ./configure --list-parsers
aac dvdsub opus aac_latm flac png ac3 g723_1 pnm adx g729 rv30 av1 gif rv40 avs2 gsm sbc avs3 h261 sipr bmp h263 tak cavsvideo h264 vc1 cook hevc vorbis dca ipu vp3 dirac jpeg2000 vp8 dnxhd mjpeg vp9 dpx mlp webp dvaudio mpeg4video xma dvbsub mpegaudio dvd_nav mpegvideo
When trying to compile a Mplayer with an option...
mplayer configure options:
--enable-parser=PARSER enable specified FFmpeg parser
--enable-parser=av1
The result:
I get the following error:
In file included from libavcodec/parsers.c:76:0: ./libavcodec/parser_list.c:51:6: error: 'ff_av1' undeclared here (not in a function); did you mean 'ff_ctz'? &ff_av1, ^~~~~~ ff_ctz libavcodec/parsers.c: In function 'av_register_codec_parser': libavcodec/parsers.c:102:46: warning: unused parameter 'parser' [-Wunused-parameter] void av_register_codec_parser(AVCodecParser *parser) ^~~~~~ ffbuild/common.mak:67: recipe for target 'libavcodec/parsers.o' failed make[3]: *** [libavcodec/parsers.o] Error 1 make[3]: *** Waiting for unfinished jobs....
The gui version of the mplayer has an option that solves the problem
"use non-interleaved parser"
Otherwise, the action in the film unfolds at a rapid pace.
comment:4 by , 4 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
The parser warning is now also fixed, but as far as I could tell that did not actually make any difference, the previously mentioned patch made the difference.
I think playback is fixed, at least as far as I can tell.
I made a deb package on the mplayer subversion 38214.
https://drive.google.com/file/d/1JmwM16My_fA0MYR2p-lER-gHnQYD37GK/view?usp=sharing
Can anyone test it and tell me where I'm wrong.
The package is created and will work on Ubuntu 18, Linux Mint 19 or Ubuntu based distribution with GLIBC 2.27
ldd --version
Poor video playback with av1 codec is obtained.
Everything else works.
Thanks!
I realized that the problem is not in the parser,I guess maybe in libavcodec library.