GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community. Already on GitHub? Sign in to your account. I have been having this issue with mpv where on disk resource starved systems e. This might seem unreasonable, but the thing is, it happens quite often. I've had to switch to other players on a number of systems both OS X and Windows, never tested Linux because mpv skips with the combination of high quality HD content and low disk bandwidth.
Of course, I've never had this issue on an SSD-based systems, but that's besides the point. It merely highlights the issue.
Further proof to my claims, even though I don't have hard data: if I seek back in the same clip to just before the skip happened and play it back, the skip doesn't happen anymore, so it's not a playback clip. Doing anything which hammers the disk also reproduces the same effect, while other players take much more before they start having playback issues.
ChrisK2 lachs0r You guys think it would be possible to modify your binaries to include a default setting for this to accomodate users of these platforms? Your player still has playback issues on other platforms you are supposedly supporting. This is a command line, not compile time option. Anyway, I definitely don't want to enable this on Linux.
It works fine even if the disk is slow think old fragmented harddiskand enabling cache actually makes seeking slower because it reads more data, just to discard it immediately.
PS: the situation might improve as soon as mpv runs demuxer and decoders on separate threads, but until this happens some time will pass. I'll leave it to others whether it should be enabled by default on Windows or OSX. I'm watching an average 6 mbit p x video, and in the first one minute there are 45 frame drops, usually coming in clusters of frames at one time.
Not sure if this is reason enough for increasing the default cache size in mpv, but I just wanted to let you know it happens on Linux as well during heavy disk activity. I think it would be fuse. If that doesn't work, you'll have to figure out the correct name. You can probably see that by just running mount without arguments, or you could use something like this little program.It is based on mplayer2, which in turn is based on the original MPlayer. Although there are still many similarities to its ancestors, mpv should generally be treated as a completely different program.
Hardware video decoding is usually desired. You need to manually enable the API available on your system.
Subscribe to RSS
However, many aspects of the default behaviour can be changed. Two most important parts of the configuration are player settings and key bindings. Both are briefly discussed below. Everything after the is considered a comment.
Nearly all command line options can be player settings. Options that work without values can be enabled by setting them to yes and disabled by setting them to no. To ease working with different configurations, profiles can be defined in the configuration file.
A profile starts with its name in square brackets, e. All following options will be a part of this profile. To end the profile, start another one or use the profile name default to continue with normal options. For a complete list of available options please refer to the manual. For a complete list of available commands please refer to the manual. Advanced real-world configurations from mpv contributors: .
These problems vary from broken pieces of functionality to sudden crashes. Upstream's answer in such cases is similar to ''it's not our problem that others can't maintain proper ABI-compatibility, rebuild mpv''. Please first report a Gentoo bug to notify maintainers about the existing breakage, then rebuild mpv. If you don't have any problems with mpv, ignore this message. Otherwise, please follow these instructions. Always consult mpv log for any problems regarding hardware decoding.
High CPU usage during video playback is a symptom of broken hardware decoding. Firstly, make sure that your hardware supports the required video codec. The codec used in your video file is available in mpv log.
Secondly, make sure that you have the latest non-live not mpv version available in tree. If the update to the latest version solves the problem, please report a Gentoo bug.
Tearing is a video playback defect when displayed objects aren't properly lined up horizontally. Please refer to the upstream FAQ. Quote from upstream: ''Libav is basically unsupported by mpv, except it still sort of compiles and many things work'' .
I have been testing playing multiple live streams using different players because I wanted to get the lowest latency value. I tried gstreamer player gst-launch I used different configuration values to get the lowest latency for each of them for example:. The protocol I am streaming with is udp and I am getting a better values with ffplay than mplayer or gst-launch. To be honest, I don't know what kind of configuration I need to do it the gstreamer to get a lower latency.
Now, what I need is two things:. I am now getting higher than ms which is not really efficient for me. Since I am using ffplay currently, because it is the best so far. I would like to do a simple gui with a play and record button and 3 screens to stream from different video servers, I just don't know what kind of wrapper which should be really fast to use!
Well, for a really low latency streaming scenario, you could try NTSC. Its latency can be under 63us microseconds ideally. For digital streaming with quality approaching NTSC and a 40ms latency budget see rsaxvc's answer at hz.
If you need Over The Air streaming, this is the best low-latency option I've seen and it's very well thought out and the resolution will scale with hardware capability. If you mean digital streaming and you want good compression ratios, ie p over wifi, then you are out of luck if you want less than ms of latency with today's commodity hardware, because in order for a compression algorithm to give a good compression ratio, it needs a lot of context.
For example Mpeg 1 used 12 frames in an ipbbpbbpbbpb GOP group of pictures arrangement where i is an 'intra' frame which is effectively a jpeg still, a p is a predictive frame which encodes some movements between i and p frames, and b frames encode some spot fixups where the prediction didn't work very well.
Anyhow, 12 frames even at 60fps is still ms, so that's ms just to capture the data, then some time to encode it, then some time to transmit it, then some time to decode it, then some time to buffer the audio so the soundcard doesn't run out of data while the CPU is sending a new block to the DMA memory region, and at the same time frames of video need to be queued up to send to the video display in order to prevent tearing on a digital display.
So really there's a minimum of 15 frames or ms, plus latency incurred in transmission. Cool eh? And I guess you could say that the audio has a sort of 'compression' as well in that automatic gain control could be used to make a 20dB analog audio signal appear to provide closer to a 60dB experience by blasting our ears out of our heads at commercials due to the AGC jacking up the volume during the seconds of silence between the show and the commercial.
Later when we got higher fidelity audio circuits, commercials were actually broadcast louder than shows, but that was just their way of providing the same impact as the older TVs had given the advertisers.Github Issues.
Streamlink is a command-line application, which means that the commands described here should be typed into a terminal.
The way Streamlink works is that it's only a means to extract and transport the streams, and the playback is done by an external video player. Streamlink works best with VLC or mpvwhich are also cross-platform, but other players may be compatible too, see the Players page for a complete overview.
Now to get into actually using Streamlink, let's say you want to watch the stream located on twitch. This is done by giving the URL to the command streamlink as the first argument:. This command will tell Streamlink to attempt to extract streams from the URL specified, and if it's successful, print out a list of available streams to choose from.
Relative file paths and absolute paths are supported. To select a stream and start playback, simply add the stream name as a second argument to the streamlink command:.
The stream you chose should now be playing in the player. It's a common use case to just want to start the highest quality stream and not be bothered with what it's named. To do this, just specify best as the stream name and Streamlink will attempt to rank the streams and open the one of highest quality. You can also specify worst to get the lowest quality. Now that you have a basic grasp of how Streamlink works, you may want to look into customizing it to your own needs, such as:.
Writing the command-line options every time is inconvenient, that's why Streamlink is capable of reading options from a configuration file instead. You can also specify the location yourself using the --config option. On Windows there is a default config created by the installer but on any other platform you must create the file yourself. The config file is a simple text file and should contain one command-line option omitting the dashes per line in the format:. Any quotes used will be part of the value, so only use when the value needs them, e.
You may want to use specific options for some plugins only. This can be accomplished by placing those settings inside a plugin specific config file. Options inside these config files will override the main config file when a URL matching the plugin is used. Streamlink expects this config to be named like the main config but with.
Have a look at the list of plugins to see the name of each built-in plugin. Crunchyroll requires authenticating with a premium account to access some of their content. To do so, the plugin provides a couple of options to input your information, --crunchyroll-username and --crunchyroll-password. Once logged in, the plugin makes sure to save the session credentials to avoid asking your username and password again.
Nevertheless, these credentials are valid for a limited amount of time, so it might be a good idea to save your username and password in your configuration file anyway. The API this plugin uses isn't supposed to be available to use it on computers.
The plugin tries to blend in as a valid device using custom headers and following the API usual flow e. You can use the --http-proxy and --https-proxy options you need both since the plugin uses both protocols to access the Crunchyroll servers through a proxy to be able to stream region locked content. When doing this, it's very probable that you will get denied to access the stream; this occurs because the session and credentials used by the plugin where obtained when logged from your own region, and the server still assumes you're in that region.
For this, the plugin provides the --crunchyroll-purge-credentials option, which removes your saved session and credentials and tries to log in again using your username and password. Like Crunchyroll, the FunimationNow plugin requires authenticating with a premium account to access some content: --funimation-email--funimation-password.A Lua script to show preview thumbnails in mpv's OSC seekbar, sans external dependencies.
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Work fast with our official CLI. Learn more. If nothing happens, download GitHub Desktop and try again. If nothing happens, download Xcode and try again.
If nothing happens, download the GitHub extension for Visual Studio and try again. Click the image or here to view a YouTube video of the script in action. The script supports all four built-in OSC layouts, as seen in this Youtube video. The script will also do multiple passes over the video, generating thumbnails with increasing frequency until the target is reached. This allows you to preview the end of the file before every thumbnail has been generated.
Grab both the two. See the Files section in mpv's manual for more info. While the script doesn't need external dependencies and can work with mpv alone, it can also use FFmpeg for slightly faster thumbnail generation; just make sure ffmpeg[. You have been warned.
In general, you should just use multiple worker scripts Configuration instead of taking the FFmpeg-risk. Note: You will need a rather new version of mpv due to the new binds used in the patched osc. Just open a file and hover over the seekbar! Also of note: the script does not manage the thumbnails in any way, you should clear the directory from time to time.
Multithreading: This script can use multiple concurrent thumbnailing jobs. This improves thumbnailing speed a bunch, but you will quickly max out your CPU - I recommend only having two or three copies of the script.
Why multiple copies of the same file? It's really handy on stack traces when mpv gives you a line and column on the output file - no need to hunt down the right place in the source files!
The script requires Python 3, so install that. Nothing more, though. You may also, of course, just cat the files together yourself. Just having the option there, is all. We use optional third-party analytics cookies to understand how you use GitHub. You can always update your selection by clicking Cookie Preferences at the bottom of the page.It will play anything video file you throw at it. It is just a video player, it does not have menus or toolbars or things of that nature. Basics controls are available in a on-screen overlay display.
It does not have additional features. At all.
There is no graphical playlist function, there is no button for open files or network URLs or anything like that. You can open a file using your file manager or a terminal and play it with mpv and that is how you use it.
You can play network URLs and playlists with it using those things and command-line arguments. Moving the mouse above a video playing in mpv makes a on-screen navigational interface appear. It is limited to jumping to a specific time on a timeline, play, pause, volume and mute, toggling subtitles on or off and there is also a fullscreen toggle button.
Not that you'll need it, pressing f to toggle f ullscreen is quicker. There are more feature-rich programs like SMPlayer which use mpv for the actual video playback while providing a graphical interface with menus and toolbars and icons.
You will probably have to add a third party repository to your distribution to get a proper mpv. That would be rpmfusion in the case of Fedora and CentOS. While you strictly do not need to have a mpv. This configuration requests that vaapi is used for both hardware video decoding when available and video output. While there is a placebo visual benefit there is also a very real cost. Even if you have a high-end GPU, do you really need or want your GPU to be working as if it was running a FPS game, making noise from the fans, when you are just using it to watch a video?
See the dedicated page Mpv configuration for Windows. It is possible to configure a lot more keyboard shortcuts using a configuration file called input. It is possible to expand mpv's functionality with userscripts.Wu-Tang Clan - C.R.E.A.M.
These can add useful features like playlist management, automatic cropping of black bars when detected and much, much more. What about the more fancy mpv. Sort by date Sort by score. Enable comment auto-refresher. LinuxReviews welcomes all comments. If you do not want to be anonymous, register or log in. It is free. Otherwise very limited. No playlist, no GUI. Plays everything. No features what so ever. SMPlayer Qt mpv Fully featured.
Playlist, advanced playback options, easy to use. VLC libvlc Fully featured. Categories : Media players All software.I now have some severe health issues to deal with complete Kidney failure Well just got back from Hospital again excessive water in lungs If you could Thanks to all that contributed What it does You can use a modified HOSTS file to block ads, banners, 3rd party Cookies3rd party page counters, web bugsand even most hijackers and possibly unwanted programs.
This is accomplished by blocking the connection s that supplies these little gems. The Hosts file is loaded into memory cache at startup, so there is no need to turn on, adjust or change any settings with the exception of the DNS Client service see below.
In case you're wondering Another great feature of the HOSTS file is that it is a two-way file, meaning if some parasite does get into your system usually bundled with other products the culprit can not get out call home as long as the necessary entries exist. Special Note: new Windows 10 users This was done to resolve a slowdown issue that occurs with the change Microsoft made in the "TCP loopback interface" in Win8.
This change in the prefix should not affect everyday users. You can use the "Replace" function in Notepad to convert the entries, or either of these freeware utilities see below has an option for converting the entries from "0.
This download includes a simple batch file mvps. For more information please see the Windows version that applies to you When you run the mvps. Once updated you should see another prompt that the task was completed.
Allow the change Microsoft has done it again If you upgraded recently to Windows 10 versionmost likely you will be unable to make any changes to the DNS Client, as it is grayed out. Then to make things even worse To check your Windows version If you decide that you want the DNS Client service running You can make a little batch file that will flush the DNS whenever you desire.
Open Notepad and enter the following:. These instructions are intended for a single home-user PC. If your machine is part of a "Domain", check with your IT Dept. This especially applies to Laptop users who travel or bring their work machines home. Make sure to reset the Service if needed prior to connecting reboot required to your work Domain Hostsman includes an option to turn off the DNS Service [ screenshot ].
When set to Manual you can see that the above "Service" is not needed after a little browsing - when set to Manual by opening the Services Editor again, scroll down to DNS Client and check the "Status" column.
It should be blank, if it was needed it would show "Started" in that column. Related Utilities. Once installed locate the Hostsman location, right-click on "hm.