0
0
mirror of https://github.com/mpv-player/mpv.git synced 2024-09-20 12:02:23 +02:00
Command line video player
Go to file
wm4 c02f252938 stream_lavf: use ffmpeg for http/https streaming
The internal mplayer http implementation is terrible and old. Try to use
ffmpeg instead. Enable ffmpeg https as well (we don't have native
support for it and never will).

Enable the cache for ffmpeg streams. In theory, we want to enable the
cache for network streams only (or at least, not enable it for files),
but there doesn't seem to be any way to query this. ffmpeg has its own
read-cache, but apparently it doesn't get filled asynchronously (only
to the degree internal socket/kernel buffers do).

Should it turn out that the mplayer implementation is better than
ffmpeg's in some way (unlikely), this commit might be reverted until
ffmpeg is ready. So far, the ffmpeg implementation seems to work very
well though.

The original mplayer stream implementation is made available under
"mp_http://" and "mp_http_proxy://". This is for testing, until the
http implementation is completely removed. Note that this is unlikely
to happen soon: ffmpeg doesn't support Microsoft streaming, while
mplayer has some support. This code has dependencies on http.

Note: "http_proxy://" doesn't work anymore. Use "httpproxy://" to get
the ffmpeg implementation of it.

Using https requires enabling OpenSSL in ffmpeg by adding
the --enable-openssl switch to ffmpeg's configure.
2012-12-03 21:08:52 +01:00
audio ao_pcm: fix references to -novideo 2012-12-03 21:08:48 +01:00
compat Improve compatibility with Libav 0.8.4 and ffmpeg 0.11.2 2012-11-14 11:45:52 +01:00
core cache: simplify further 2012-12-03 21:08:51 +01:00
demux demux_gif: remove this demuxer in favor of libavformat 2012-12-03 21:08:51 +01:00
DOCS demux_lavf: add support for libavdevice 2012-12-03 21:08:51 +01:00
etc configure: don't check for inttypes.h, it always exists 2012-12-03 21:08:51 +01:00
osdep Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
stream stream_lavf: use ffmpeg for http/https streaming 2012-12-03 21:08:52 +01:00
sub video: add support for 12 and 14 bit YUV pixel formats 2012-12-03 21:08:51 +01:00
TOOLS TOOLS: remove checktree.sh 2012-11-14 11:26:43 +01:00
video video: add support for 12 and 14 bit YUV pixel formats 2012-12-03 21:08:51 +01:00
.gitignore build: remove doc/locale language auto-detection, simplify 2012-11-14 11:26:43 +01:00
AUTHORS documentation: remove Changelog, rewrite README 2011-02-15 12:04:32 +02:00
configure demux_gif: remove this demuxer in favor of libavformat 2012-12-03 21:08:51 +01:00
Copyright Rename to "mpv" 2012-10-12 10:14:32 +02:00
LICENSE Copyright, LICENSE: change binary license to GPL 3 2011-03-24 23:40:29 +02:00
Makefile demux_gif: remove this demuxer in favor of libavformat 2012-12-03 21:08:51 +01:00
README osd: remove freetype font rendering code 2012-07-28 23:36:08 +02:00
talloc.c talloc: fix strndup group of functions 2012-10-12 10:10:32 +02:00
talloc.h clang: fix all warnings except deprecations 2012-11-13 22:19:18 +01:00
version.sh build: identify the build time of the binary in the versioning output 2012-12-03 21:08:51 +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 (for libass)
 - libfontconfig (for libass)
 - 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.