MPlayer能播放几乎所有流行的音频和视频格式,相对其它播放器来说,资源占用非常少。在嵌入式领域,在不支持QT以及没有上安卓的系统环境中,使用MPlayer可以完成DRM驱动程序的验证和调试,轻松播放音视频文件。
http://www.zlib.net/
下载1.2.11版本
https://www.alsa-project.org/files/pub/lib/
下载1.2.2版本的alsa
http://www.mplayerhq.hu/MPlayer/releases/
下载1.4版本
在如下路径创建四个文件夹,用以存放上述的三个源码以及编译出来的库文件。
以下操作的路径如下:
linux:zlib-1.2.11$ pwd
/home/ubuntu16/mplayer/zlib/zlib-1.2.11
linux:zlib-1.2.11$ CC=arm-none-linux-gnueabi-gcc ./configure --prefix=/home/ubuntu16/mplayer/lib/zlib/
Checking for shared library support...
Building shared library libz.so.1.2.11 with arm-none-linux-gnueabi-gcc.
Checking for size_t... Yes.
Checking for off64_t... Yes.
Checking for fseeko... Yes.
Checking for strerror... Yes.
Checking for unistd.h... Yes.
Checking for stdarg.h... Yes.
Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf().
Checking for vsnprintf() in stdio.h... Yes.
Checking for return value of vsnprintf()... Yes.
Checking for attribute(visibility) support... Yes.
linux:zlib-1.2.11$ make
arm-none-linux-gnueabi-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -c -o example.o test/example.c
arm-none-linux-gnueabi-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o adler32.o adler32.c
arm-none-linux-gnueabi-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o crc32.o crc32.c
arm-none-linux-gnueabi-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o deflate.o deflate.c
arm-none-linux-gnueabi-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o infback.o infback.c
arm-none-linux-gnueabi-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o inffast.o inffast.c
arm-none-linux-gnueabi-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o inflate.o inflate.c
arm-none-linux-gnueabi-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o inftrees.o inftrees.c
arm-none-linux-gnueabi-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o trees.o trees.c
arm-none-linux-gnueabi-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o zutil.o zutil.c
arm-none-linux-gnueabi-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o compress.o compress.c
arm-none-linux-gnueabi-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o uncompr.o uncompr.c
arm-none-linux-gnueabi-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o gzclose.o gzclose.c
arm-none-linux-gnueabi-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o gzlib.o gzlib.c
arm-none-linux-gnueabi-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o gzread.o gzread.c
arm-none-linux-gnueabi-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -c -o gzwrite.o gzwrite.c
ar rc libz.a adler32.o crc32.o deflate.o infback.o inffast.o inflate.o inftrees.o trees.o zutil.o compress.o uncompr.o gzclose.o gzlib.o gzread.o gzwrite.o
arm-none-linux-gnueabi-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o example example.o -L. libz.a
arm-none-linux-gnueabi-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -c -o minigzip.o test/minigzip.c
arm-none-linux-gnueabi-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o minigzip minigzip.o -L. libz.a
arm-none-linux-gnueabi-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/adler32.o adler32.c
arm-none-linux-gnueabi-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/crc32.o crc32.c
arm-none-linux-gnueabi-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/deflate.o deflate.c
arm-none-linux-gnueabi-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/infback.o infback.c
arm-none-linux-gnueabi-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/inffast.o inffast.c
arm-none-linux-gnueabi-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/inflate.o inflate.c
arm-none-linux-gnueabi-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/inftrees.o inftrees.c
arm-none-linux-gnueabi-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/trees.o trees.c
arm-none-linux-gnueabi-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/zutil.o zutil.c
arm-none-linux-gnueabi-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/compress.o compress.c
arm-none-linux-gnueabi-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/uncompr.o uncompr.c
arm-none-linux-gnueabi-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/gzclose.o gzclose.c
arm-none-linux-gnueabi-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/gzlib.o gzlib.c
arm-none-linux-gnueabi-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/gzread.o gzread.c
arm-none-linux-gnueabi-gcc -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -DPIC -c -o objs/gzwrite.o gzwrite.c
arm-none-linux-gnueabi-gcc -shared -Wl,-soname,libz.so.1,--version-script,zlib.map -O3 -fPIC -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o libz.so.1.2.11 adler32.lo crc32.lo deflate.lo infback.lo inffast.lo inflate.lo inftrees.lo trees.lo zutil.lo compress.lo uncompr.lo gzclose.lo gzlib.lo gzread.lo gzwrite.lo -lc
rm -f libz.so libz.so.1
ln -s libz.so.1.2.11 libz.so
ln -s libz.so.1.2.11 libz.so.1
arm-none-linux-gnueabi-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o examplesh example.o -L. libz.so.1.2.11
arm-none-linux-gnueabi-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o minigzipsh minigzip.o -L. libz.so.1.2.11
arm-none-linux-gnueabi-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -D_FILE_OFFSET_BITS=64 -c -o example64.o test/example.c
arm-none-linux-gnueabi-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o example64 example64.o -L. libz.a
arm-none-linux-gnueabi-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -I. -D_FILE_OFFSET_BITS=64 -c -o minigzip64.o test/minigzip.c
arm-none-linux-gnueabi-gcc -O3 -D_LARGEFILE64_SOURCE=1 -DHAVE_HIDDEN -o minigzip64 minigzip64.o -L. libz.a
linux:zlib-1.2.11$
linux:zlib-1.2.11$ make install
rm -f /home/ubuntu16/mplayer/lib/zlib//lib/libz.a
cp libz.a /home/ubuntu16/mplayer/lib/zlib//lib
chmod 644 /home/ubuntu16/mplayer/lib/zlib//lib/libz.a
cp libz.so.1.2.11 /home/ubuntu16/mplayer/lib/zlib//lib
chmod 755 /home/ubuntu16/mplayer/lib/zlib//lib/libz.so.1.2.11
rm -f /home/ubuntu16/mplayer/lib/zlib//share/man/man3/zlib.3
cp zlib.3 /home/ubuntu16/mplayer/lib/zlib//share/man/man3
chmod 644 /home/ubuntu16/mplayer/lib/zlib//share/man/man3/zlib.3
rm -f /home/ubuntu16/mplayer/lib/zlib//lib/pkgconfig/zlib.pc
cp zlib.pc /home/ubuntu16/mplayer/lib/zlib//lib/pkgconfig
chmod 644 /home/ubuntu16/mplayer/lib/zlib//lib/pkgconfig/zlib.pc
rm -f /home/ubuntu16/mplayer/lib/zlib//include/zlib.h /home/ubuntu16/mplayer/lib/zlib//include/zconf.h
cp zlib.h zconf.h /home/ubuntu16/mplayer/lib/zlib//include
chmod 644 /home/ubuntu16/mplayer/lib/zlib//include/zlib.h /home/ubuntu16/mplayer/lib/zlib//include/zconf.h
linux:zlib-1.2.11$
创建/usr/local/mplayer
文件夹
linux:zlib-1.2.11$ sudo mkdir /usr/local/mplayer
[sudo] password for ubuntu16:
linux:zlib-1.2.11$ ls /usr/local/mplayer
linux:zlib-1.2.11$
以下操作所在的路径是:
/home/ubuntu16/mplayer/alsa-lib/alsa-lib-1.2.2
./configure --host=arm-none-linux-gnueabi CC=arm-none-linux-gnueabi-gcc --enable-shared --disable-python --prefix=/usr/local/mplayer
结果log
config.status: creating modules/Makefile
config.status: creating modules/mixer/Makefile
config.status: creating modules/mixer/simple/Makefile
config.status: creating alsalisp/Makefile
config.status: creating aserver/Makefile
config.status: creating test/Makefile
config.status: creating test/lsb/Makefile
config.status: creating utils/Makefile
config.status: creating utils/alsa-lib.spec
config.status: creating utils/alsa.pc
config.status: creating utils/alsa-topology.pc
config.status: creating include/config.h
config.status: executing depfiles commands
config.status: executing libtool commands
Creating asoundlib.h...
make
编译时会报下面的错误
timer_hw.c: In function 'snd_timer_hw_open':
timer_hw.c:249:17: error: '__kernel_long_t' undeclared (first use in this function)
解决方法:
在timer_local.h中增加如下代码:
#ifndef __kernel_long_t
typedef long __kernel_long_t;
typedef unsigned long __kernel_ulong_t;
#endif
再次编译,结果如下:
make[1]: Leaving directory '/home/ubuntu16/mplayer/alsa-lib/alsa-lib-1.2.2/aserver'
Making all in test
make[1]: Entering directory '/home/ubuntu16/mplayer/alsa-lib/alsa-lib-1.2.2/test'
Making all in .
make[2]: Entering directory '/home/ubuntu16/mplayer/alsa-lib/alsa-lib-1.2.2/test'
make[2]: Nothing to be done for 'all-am'.
make[2]: Leaving directory '/home/ubuntu16/mplayer/alsa-lib/alsa-lib-1.2.2/test'
Making all in lsb
make[2]: Entering directory '/home/ubuntu16/mplayer/alsa-lib/alsa-lib-1.2.2/test/lsb'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/ubuntu16/mplayer/alsa-lib/alsa-lib-1.2.2/test/lsb'
make[1]: Leaving directory '/home/ubuntu16/mplayer/alsa-lib/alsa-lib-1.2.2/test'
Making all in utils
make[1]: Entering directory '/home/ubuntu16/mplayer/alsa-lib/alsa-lib-1.2.2/utils'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/home/ubuntu16/mplayer/alsa-lib/alsa-lib-1.2.2/utils'
make[1]: Entering directory '/home/ubuntu16/mplayer/alsa-lib/alsa-lib-1.2.2'
make[1]: Nothing to be done for 'all-am'.
make[1]: Leaving directory '/home/ubuntu16/mplayer/alsa-lib/alsa-lib-1.2.2'
linux:alsa-lib-1.2.2$
su root
root@linux:/home/ubuntu16/mplayer/alsa-lib/alsa-lib-1.2.2# export PATH=/opt/gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12/fsl-linaro-toolchain/bin/:$PATH
安装
make install
结果Log:
Making install in utils
make[1]: Entering directory '/home/ubuntu16/mplayer/alsa-lib/alsa-lib-1.2.2/utils'
make[2]: Entering directory '/home/ubuntu16/mplayer/alsa-lib/alsa-lib-1.2.2/utils'
make[2]: Nothing to be done for 'install-exec-am'.
/bin/mkdir -p '/usr/local/mplayer/share/aclocal'
/usr/bin/install -c -m 644 alsa.m4 '/usr/local/mplayer/share/aclocal'
/bin/mkdir -p '/usr/local/mplayer/lib/pkgconfig'
/usr/bin/install -c -m 644 alsa.pc alsa-topology.pc '/usr/local/mplayer/lib/pkgconfig'
make[2]: Leaving directory '/home/ubuntu16/mplayer/alsa-lib/alsa-lib-1.2.2/utils'
make[1]: Leaving directory '/home/ubuntu16/mplayer/alsa-lib/alsa-lib-1.2.2/utils'
make[1]: Entering directory '/home/ubuntu16/mplayer/alsa-lib/alsa-lib-1.2.2'
make[2]: Entering directory '/home/ubuntu16/mplayer/alsa-lib/alsa-lib-1.2.2'
make[2]: Nothing to be done for 'install-exec-am'.
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/home/ubuntu16/mplayer/alsa-lib/alsa-lib-1.2.2'
make[1]: Leaving directory '/home/ubuntu16/mplayer/alsa-lib/alsa-lib-1.2.2'
root@linux:/home/ubuntu16/mplayer/alsa-lib/alsa-lib-1.2.2#
#!/bin/sh
./configure \
--enable-cross-compile --prefix=/usr/local/mplayer \
--cc=arm-none-linux-gnueabi-gcc --ar=arm-none-linux-gnueabi-ar --as=arm-none-linux-gnueabi-as \
--ranlib=arm-none-linux-gnueabi-ranlib \
--target=arm-armv7-linux \
--prefix=./build \
--enable-alsa \
--extra-cflags="-I/home/ubuntu16/mplayer/lib/zlib/include -I/usr/local/mplayer/include/" \
--extra-ldflags="-L/home/ubuntu16/mplayer/lib/zlib/lib -L/usr/local/mplayer/lib -lasound" \
--enable-ass \
--host-cc=gcc \
--enable-fbdev --disable-dvdread \
--disable-dvdnav --disable-jpeg --disable-tga \
--disable-pnm --disable-tv --disable-ivtv \
--disable-xanim --disable-win32dll --disable-armv5te --disable-armv6 \
--disable-png 2>&1 |tee logfile
执行cfg.sh,结果log:
'make' will now compile MPlayer and 'make install' will install it.
Note: On non-Linux systems you might need to use 'gmake' instead of 'make'.
NOTE: Win32 codec DLLs are not supported on your CPU (arm) or your
operating system (armv7). You may encounter a few files that cannot
be played due to missing open source video/audio codec support.
Check config.log if you wonder why an autodetection failed (make sure
development headers/packages are installed).
NOTE: The --enable-* parameters unconditionally force options on, completely
skipping autodetection. This behavior is unlike what you may be used to from
autoconf-based configure scripts that can decide to override you. This greater
level of control comes at a price. You may have to provide the correct compiler
and linker flags yourself.
If you used one of these options (except --enable-menu and similar ones that
turn on internal features) and experience a compilation or linking failure,
make sure you have passed the necessary compiler/linker flags to configure.
If you suspect a bug, please read DOCS/HTML/en/bugreports.html.
linux:MPlayer-1.4$
make
编译错误:
./libavcodec/error_resilience.h:23:23: fatal error: stdatomic.h: No such file or directory
交叉编译工具链4.6版本低。
解决办法:交叉编译工具链所限制,换MPlayer 1.3
查看编译出来的MPlayer。
以上文件拷贝到目标文件系统的/usr/lib/ 目录下
linux:zlib$ ls
include lib share
linux:zlib$ cp -rfa lib/ /home/ubuntu16/itop4412_rootfs/system/usr/
linux:zlib$ pwd
/home/ubuntu16/mplayer/lib/zlib
linux:zlib$
在MPlayer1.3根目录下有mplayer文件
linux:zlib$ sudo cp /usr/local/mplayer/lib/libasound.so.2.0.0 /home/ubuntu16/itop4412_rootfs/system/lib/
创建软连接
linux:system$ cd usr/lib/
linux:lib$ ls
libasound.so.2.0.0 libz.a libz.so libz.so.1 libz.so.1.2.11 pkgconfig
linux:lib$ ln -s libasound.so.2.0.0 libasound.so.2
linux:lib$ ll
total 3296
drwxrwxr-x 3 ubuntu16 ubuntu16 4096 11月 3 09:16 ./
drwxrwxrwx 6 ubuntu16 ubuntu16 4096 11月 3 08:52 ../
lrwxrwxrwx 1 ubuntu16 ubuntu16 18 11月 3 09:16 libasound.so.2 -> libasound.so.2.0.0*
-rwxr-xr-x 1 ubuntu16 ubuntu16 3135672 11月 3 09:16 libasound.so.2.0.0*
-rw-r--r-- 1 ubuntu16 ubuntu16 108578 11月 2 18:45 libz.a
lrwxrwxrwx 1 ubuntu16 ubuntu16 14 11月 2 18:45 libz.so -> libz.so.1.2.11*
lrwxrwxrwx 1 ubuntu16 ubuntu16 14 11月 2 18:45 libz.so.1 -> libz.so.1.2.11*
-rwxr-xr-x 1 ubuntu16 ubuntu16 110891 11月 2 18:45 libz.so.1.2.11*
drwxrwxr-x 2 ubuntu16 ubuntu16 4096 11月 2 18:45 pkgconfig/
linux:lib$ pwd
/home/ubuntu16/itop4412_rootfs/system/usr/lib
linux:lib$
接下来把 /usr/local/
目录下的 整个mplayer目录 拷贝到 开发板的/usr/local/
linux:zlib$ mkdir -p /home/ubuntu16/itop4412_rootfs/system/usr/local
linux:zlib$
linux:zlib$
linux:zlib$ sudo cp /usr/local/mplayer/
bin/ include/ lib/ share/
linux:zlib$ sudo cp /usr/local/mplayer/ -raf /home/ubuntu16/itop4412_rootfs/system/usr/local
linux:zlib$ ls /home/ubuntu16/itop4412_rootfs/system/usr/local
mplayer
mplayer -vo fbdev2 demo.mp4
OK
[root@iTOP-4412]# mplayer -vo fbdev2 demo.mp4
MPlayer 1.3.0-4.6.2 (C) 2000-2016 MPlayer Team
Playing demo.mp4.
libavformat version 57.25.100 (internal)
libavformat file format detected.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0xbe8050]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 (h264), -vid 0
[lavf] stream 1: audio (aac), -aid 0, -alang und
VIDEO: [H264] 1416x858 24bpp 30.000 fps 1160.9 kbps (141.7 kbyte/s)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 57.24.102 (internal)
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
Clip info:
major_brand: mp42
minor_version: 512
compatible_brands: isomiso2avc1mp41
creation_time: 2019-01-22 00:00:35
Load subtitles in ./
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 44100 Hz, 2 ch, floatle, 2.1 kbit/0.07% (ratio: 258->352800)
Selected audio codec: [ffaac] afm: ffmpeg (FFmpeg AAC (MPEG-2/MPEG-4 Audio))
==========================================================================
[AO OSS] audio_setup: Can't open audio device /dev/dsp: No such file or directory
[AO_ALSA] alsa-lib: confmisc.c:767:(parse_card) cannot find card '0'
[AO_ALSA] alsa-lib: conf.c:4693:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
[AO_ALSA] alsa-lib: confmisc.c:392:(snd_func_concat) error evaluating strings
[AO_ALSA] alsa-lib: conf.c:4693:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
[AO_ALSA] alsa-lib: confmisc.c:1246:(snd_func_refer) error evaluating name
[AO_ALSA] alsa-lib: conf.c:4693:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
[AO_ALSA] alsa-lib: conf.c:5181:(snd_config_expand) Evaluate error: No such file or directory
[AO_ALSA] alsa-lib: pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM default
[AO_ALSA] Playback open error: No such file or directory
DVB card number must be between 1 and 4
AO: [null] 44100Hz 2ch floatle (4 bytes per sample)
Starting playback...
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
Movie-Aspect is undefined - no prescaling applied.
[swscaler @ 0xe2f400]bicubic scaler, from yuv420p to bgra using C
[swscaler @ 0xe2f400]No accelerated colorspace conversion found from yuv420p to bgra.
[swscaler @ 0xe2f400]using unscaled yuv420p -> bgra special converter
VO: [fbdev2] 1416x858 => 1416x858 BGRA
A: 3.6 V: 1.6 A-V: 2.015 ct: 0.040 0/ 0 125% 95% 8.4% 50 0
************************************************
**** Your system is too SLOW to play this! ****
************************************************
Possible reasons, problems, workarounds:
- Most common: broken/buggy _audio_ driver
- Try -ao sdl or use the OSS emulation of ALSA.
- Experiment with different values for -autosync, 30 is a good start.
- Slow video output
- Try a different -vo driver (-vo help for a list) or try -framedrop!
- Slow CPU
- Don't try to play a big DVD/DivX on a slow CPU! Try some of the lavdopts,
e.g. -vfm ffmpeg -lavdopts lowres=1:fast:skiploopfilter=all.
- Broken file
- Try various combinations of -nobps -ni -forceidx -mc 0.
- Slow media (NFS/SMB mounts, DVD, VCD etc)
- Try -cache 8192.
- Are you using -cache to play a non-interleaved AVI file?
- Try -nocache.
Read DOCS/HTML/en/video.html for tuning/speedup tips.
If none of this helps you, read DOCS/HTML/en/bugreports.html.
A: 15.0 V: 15.0 A-V: 0.023 ct: 0.839 0/ 0 112% 93% 3.7% 209 0
Exiting... (End of file)
[root@iTOP-4412]#
end
一口Linux
关注,回复【1024】海量Linux资料赠送
精彩文章合集
文章推荐
点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看