1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-29 18:42:09 +00:00
Command line video player
Go to file
wm4 7a06095dc3 Add support for playing video from streaming sites with libquvi
This enables playing URLs from libquvi supported streaming sites
directly, e.g. "mplayer http://www.youtube.com/watch?v=...."

Anything opened with mplayer is checked with libquvi. If it looks like
a URL of a supported streaming site, libquvi is used to extract the
media URL, which is then passed to the lower level mplayer code
instead of the HTML URL. Hopefully the libquvi URL checker works well
enough that it doesn't cause any problems with normal URLs, files, or
whatever else mplayer's stream layer accepts.

Add the --libquvi-format option. the option value is directly passed to
libquvi as requested format. The only values that seem to work for any
streaming site seem to be "best" (best quality) and "default" (lowest
quality). The mplayer option defaults to "best" (overriding libquvi's
default).

Outstanding issues:
- Does libquvi checking every opened file really not cause problems?
  Should there be a runtime option to disable libquvi use?
  (Probably not an issue.)
- Should we check/set the supported protocol? By default libquvi has
  support for all protocols enabled. In the worst case, it might return
  an URL using a protocol not supported by mplayer, even though it
  could extract URLs with other protocols too.
  (Probably not an issue.)
- Somehow export metadata (like media title) to the mplayer frontend?
2012-07-28 22:05:34 +02:00
debian debian: remove leftover references to deleted OSD menu files 2011-11-14 20:24:39 +02:00
DOCS commands: add show_tracks_osd command to display audio and subtitle tracks on OSD 2012-07-28 20:57:44 +02:00
etc Merge remote-tracking branch 'origin/master' 2012-07-28 17:24:05 +02:00
ffmpeg_files build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
input commands: add show_tracks_osd command to display audio and subtitle tracks on OSD 2012-07-28 20:57:44 +02:00
libaf af: fix crash when trying to use volume controls with AC3 pass-through 2012-03-09 20:48:54 +02:00
libao2 libvo, libao: remove useless video and audio output drivers 2012-07-28 20:44:59 +02:00
libmpcodecs Merge remote-tracking branch 'origin/master' 2012-07-28 17:24:05 +02:00
libmpdemux Merge remote-tracking branch 'origin/master' 2012-07-28 17:24:05 +02:00
libvo libvo, libao: remove useless video and audio output drivers 2012-07-28 20:44:59 +02:00
loader Remove QTX tests 2012-07-28 20:44:59 +02:00
osdep Merge remote-tracking branch 'origin/master' 2012-04-29 10:01:28 +02:00
rpm libmenu: remove OSD menu functionality (--menu) 2011-10-25 07:05:47 +03:00
stream Add support for playing video from streaming sites with libquvi 2012-07-28 22:05:34 +02:00
sub osd: enable line breaking for OSD text 2012-07-28 20:57:37 +02:00
timeline Merge remote-tracking branch 'origin/master' 2012-07-28 17:24:05 +02:00
TOOLS TOOLS: remove useless crap 2012-07-28 20:44:58 +02:00
.gitignore Merge remote-tracking branch 'origin/master' 2012-07-28 17:24:05 +02:00
asxparser.c asxparser: remove code confusing asx/player options 2011-07-26 05:31:30 +03:00
asxparser.h
AUTHORS documentation: remove Changelog, rewrite README 2011-02-15 12:04:32 +02:00
av_log.c stream_ffmpeg: fix broken line from 30afc64532 2012-04-18 01:27:55 +03:00
av_log.h terminal output: show libav version numbers in verbose mode 2011-10-01 20:03:49 +03:00
av_opts.c Update Libav API uses 2012-02-01 22:46:27 +02:00
av_opts.h
bstr.c Merge remote-tracking branch 'origin/master' 2012-07-28 17:24:05 +02:00
bstr.h Merge remote-tracking branch 'origin/master' 2012-07-28 17:24:05 +02:00
cfg-mplayer.h Add support for playing video from streaming sites with libquvi 2012-07-28 22:05:34 +02:00
codec-cfg.c Merge remote-tracking branch 'origin/master' 2012-07-28 17:24:05 +02:00
codec-cfg.h video, audio: use lavc decoders without codecs.conf entries 2012-07-24 09:01:47 +03:00
command.c commands: add show_tracks_osd command to display audio and subtitle tracks on OSD 2012-07-28 20:57:44 +02:00
command.h
configure Add support for playing video from streaming sites with libquvi 2012-07-28 22:05:34 +02:00
Copyright mp3lib: drop internal mp3lib tree 2011-04-02 07:28:53 +03:00
cpudetect.c build: remove OS/2 support 2012-04-06 17:45:56 +03:00
cpudetect.h
cpuinfo.c
defaultopts.c Merge remote-tracking branch 'origin/master' 2012-07-28 17:24:05 +02:00
defaultopts.h cleanup: remove unused MEncoder-related code 2011-01-25 02:29:31 +02:00
fmt-conversion.c libmpcodecs: rename IMGFMT_GBR24P to IMGFMT_GBRP 2012-03-25 23:12:57 +02:00
fmt-conversion.h
LICENSE Copyright, LICENSE: change binary license to GPL 3 2011-03-24 23:40:29 +02:00
m_config.c options: support "no-foo" syntax for flag suboptions 2012-07-27 03:34:17 +03:00
m_config.h options: support parsing values into substructs 2012-07-16 21:08:42 +03:00
m_option.c Merge remote-tracking branch 'origin/master' 2012-07-28 17:24:05 +02:00
m_option.h Merge remote-tracking branch 'origin/master' 2012-07-28 17:24:05 +02:00
m_property.c core: change format of time properties to match the OSD time format 2012-07-28 20:56:53 +02:00
m_property.h
m_struct.c options: make option struct the talloc parent of options 2012-07-16 21:08:42 +03:00
m_struct.h options: change option parsing to use bstr 2011-07-29 05:50:38 +03:00
Makefile libvo, libao: remove useless video and audio output drivers 2012-07-28 20:44:59 +02:00
mangle.h
metadata.h
mixer.c mixer: support native audio driver mute 2012-04-11 03:56:28 +03:00
mixer.h mixer: support native audio driver mute 2012-04-11 03:56:28 +03:00
mp_core.h audio: fix unmute-at-end logic 2012-04-11 03:52:34 +03:00
mp_fifo.c input: allow unicode keys and reassign internal key codes 2012-03-25 22:30:37 +03:00
mp_fifo.h input: allow unicode keys and reassign internal key codes 2012-03-25 22:30:37 +03:00
mp_msg.c Merge remote-tracking branch 'origin/master' 2012-04-01 22:52:33 +02:00
mp_msg.h windows: fix format string attributes on MinGW 2012-03-01 00:22:29 +02:00
mp_osd.h options: more mplayer.c options moved to option struct 2010-11-14 00:14:56 +02:00
mpbswap.h build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
mpcommon.c Use "mplayer2" in version string, not "MPlayer2" 2012-03-14 10:29:35 +01:00
mpcommon.h windows: fix format string attributes on MinGW 2012-03-01 00:22:29 +02:00
mplayer.c libvo, libao: remove useless video and audio output drivers 2012-07-28 20:44:59 +02:00
mplayer.h options: move sub_name, sub_auto and vobsub_name to struct 2011-04-20 04:22:52 +03:00
options.h Add support for playing video from streaming sites with libquvi 2012-07-28 22:05:34 +02:00
parser-cfg.c windows support: unicode filenames 2012-03-09 20:48:54 +02:00
parser-cfg.h options: move command line preparse together with parse 2011-07-26 06:02:03 +03:00
parser-mpcmd.c options: change -v parsing 2012-05-07 23:51:58 +03:00
parser-mpcmd.h options: change -v parsing 2012-05-07 23:51:58 +03:00
path.c win32: get_path(): fix undefined behavior 2012-04-28 21:47:53 +03:00
path.h windows support: unicode filenames 2012-03-09 20:48:54 +02:00
playtree.c playtree: --shuffle shouldn't make playlist navigation useless 2012-01-18 02:53:30 +01:00
playtree.h options: commandline: accept --foo=xyz style options 2011-07-29 07:24:09 +03:00
playtreeparser.c build: fix --enable-debug, remove some "#ifdef MP_DEBUG" 2011-07-30 19:03:20 +03:00
playtreeparser.h options: commandline: accept --foo=xyz style options 2011-07-29 07:24:09 +03:00
pnm_loader.c
pnm_loader.h
README documentation: remove Changelog, rewrite README 2011-02-15 12:04:32 +02:00
screenshot.c screenshot: fix minor memory leak 2012-05-15 17:28:14 +02:00
screenshot.h screenshot: make screenshot filenames configurable 2012-02-29 04:14:54 +01:00
subopt-helper.c subopt-helper: support "no-" prefix to negate suboptions 2011-11-14 20:24:39 +02:00
subopt-helper.h
talloc.c talloc.[ch]: remove "type safety" hack that violates C types 2011-08-19 03:01:16 +03:00
talloc.h windows: fix format string attributes on MinGW 2012-03-01 00:22:29 +02:00
version.sh Use "mplayer2" in version string, not "MPlayer2" 2012-03-14 10:29:35 +01:00

Compiling with full features requires development files for several
external libraries. Below is a list of some important requirements. For
more information see the output of './configure --help' for a list of options,
or look at the list of enabled and disabled features printed after running
'./configure'. If you think you have support for some feature installed
but configure fails to detect it, the file config.log may contain information
about the reasons for the failure.

Libraries specific to particular video output methods
(you'll want at least one of VDPAU, GL or Xv):
 - libvdpau (for VDPAU output, best choice for NVIDIA cards)
 - libGL (OpenGL output)
 - libXv (XVideo output)
general:
 - libasound   (ALSA audio output)
 - various general X development libraries
 - libfreetype
 - libfontconfig
 - libass
 - FFmpeg libraries (libavutil libavcodec libavformat libswscale libpostproc)

Most of the above libraries are available in suitable versions on normal
Linux distributions. However FFmpeg is an exception (distro versions may be
too old to work at all or work well). For that reason you may want to use
the separately available build wrapper that first compiles FFmpeg libraries
and libass, and then compiles the player statically linked against those.