Skip to main content

Notice

If you are using a Hotmail or Outlook email address, please change it now, as Microsoft is rejecting all email from our service outright.
Topic: foo_mpv - Video Player component based on mpv (Read 5640 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: foo_mpv - Video Player component based on mpv

Reply #100
v0.6.5

Fixed: popup title.
Not fixed: AV1 thumbnails won't work yet. The technical reason is that the ffmpeg bulid I am using doesn't support AV1 yet (vcpkg) and I don't want to change to build it myself at the moment.

This release has experimental and bad support for non-local files.
- Live streams will still not synchronise properly, fixing this is still not simple.
- You can enable it for foo_youtube items or any non-local item in Advanced Preferences->Playback->mpv. You can use the option 'Ignore filter query' so that it will try to play every non-local file, ignoring the "Only play files matching" option.
- You must place youtube-dl.exe into <foobar profile>/mpv. I don't think there is any way to tell mpv where to look for youtube-dl so I don't think I can point it at a global youtube-dl install. You could try symlinking it to another place maybe. I expect it works if youtube-dl is in your %PATH%
- You don't really get any visual feedback yet about what mpv is doing when loading youtube-dl, and nothing much in the Console, so it might be confusing why it isn't working. You should be able to tell from mpv.log afterwards.
- At least for me, it doesn't work in Linux/Wine. The libmpv thread loading youtube-dl just freezes and the player will stop working and need to be killed. It also doesn't work in standalone mpv so might not be easily fixable. If it does work for you please let me know!
- It will still use the same aggressive logic to synchronise audio/video, with no clever handling of slow network conditions. This works very well on Youtube for example, with fast enough internet, but if the video won't download fast enough you could get messed up playback as the component constantly tries to fix video sync but the network can't catch up. By default it will start loading the video 4 seconds after the current playback time to give some time for the file to start downloading. You can change this in advanced preferences.
- If you have foo_youtube video player also visible, or foo_youtube is somehow set to download the video, you will be downloading the video stream twice. For some sites, where the website only streams audio+video together, you might always be downloading the audio and video twice, which is pretty bad, it's just a limitation of the simple way this is implemented.

Re: foo_mpv - Video Player component based on mpv

Reply #101
v0.6.5
@sammoth,
Thanks for your responsiveness to users and trying to implement streaming video playback.
Playing YouTube clips works pretty well.
Currently, the highest quality YouTube video is selected for playback by default. This has a limitation on slow computers.
It might be sufficient to add a youtube-dl configuration window, similar to the mpv.conf and input.conf windows. In which the user can set the video resolution and codec.
HLS streams in my playlist are played but not synchronized.

Re: foo_mpv - Video Player component based on mpv

Reply #102
mpv is handling launching youtube-dl, so its options for quality should work, see here and here (yes it's kind of complicated). Note that you probably want to use strings that just match video streams.

For example for playing 720p only put in mpv.conf

Code: [Select]
ytdl-format="bestvideo[height=720]"

Re: foo_mpv - Video Player component based on mpv

Reply #103
mpv is handling launching youtube-dl, so its options for quality should work, see here and here (yes it's kind of complicated). Note that you probably want to use strings that just match video streams.

For example for playing 720p only put in mpv.conf

Code: [Select]
ytdl-format="bestvideo[height=720]"
Thanks, this tip helped.
Is it possible to set only a specific codec to play YouTube videos, for example, only H264?
since my computer does not play vp9 video codec properly.

Re: foo_mpv - Video Player component based on mpv

Reply #104
Maybe try
Code: [Select]
bestvideo[height<=720][vcodec*=avc]

 

Re: foo_mpv - Video Player component based on mpv

Reply #106
Hi.  Would it be feasible to have MPV automatically pop up when a video is played?  I suspect this would take more effort than it is worth, but decided to ask anyway just in case you thought it might be worthwhile.  Thank you again for this great component.

Re: foo_mpv - Video Player component based on mpv

Reply #107
Seems possible. Pop up automatically when there is video to play and disappear when there isn't? It would make most sense to have a menu entry to toggle it as I guess you would only want it on sometimes.

Re: foo_mpv - Video Player component based on mpv

Reply #108
What you described is exactly how the youtube video player works and the only feature I miss since switching over to MPV.  It would be a nice to have if you can find the time and hopefully something others would find useful.

Re: foo_mpv - Video Player component based on mpv

Reply #109
I can't play videos in wmv format, I get audio but the video doesn't play ... please help ... thank you very much for this fantastic plugin

Re: foo_mpv - Video Player component based on mpv

Reply #110
I can't play videos in wmv format, I get audio but the video doesn't play ... please help ... thank you very much for this fantastic plugin

Does it play if you disable the preference 'Only play files matching pattern'?

If not could you enable mpv's log (Advanced Preferences->Playback->mpv->Enable mpv log file), then restart foobar and try playing the file again. Then close foobar (which should make sure the log is saved) and message me the log file which should be in <foobar profile folder>/mpv/mpv.log

Re: foo_mpv - Video Player component based on mpv

Reply #111
I can't play videos in wmv format, I get audio but the video doesn't play ... please help ... thank you very much for this fantastic plugin

Does it play if you disable the preference 'Only play files matching pattern'?

If not could you enable mpv's log (Advanced Preferences->Playback->mpv->Enable mpv log file), then restart foobar and try playing the file again. Then close foobar (which should make sure the log is saved) and message me the log file which should be in <foobar profile folder>/mpv/mpv.log

I solved the problem by applying your suggestion ... thank you very much

Re: foo_mpv - Video Player component based on mpv

Reply #112
OK, it's probably better to re-enable "only play files matching pattern" but change the pattern to include wmv files, like:

Code: [Select]
"$info(video_codec)" PRESENT OR "$ext(%filename_ext%)" IS wmv

Re: foo_mpv - Video Player component based on mpv

Reply #113
yes, wmv won't open by default, I wonder why. Enabling verbose console logging, I got "mpv: Not loading path file://<file_path>". Where this video codec value come from?

I just tested again, I guess based from v1.4.1 changelog
- Added %video_codec% info for Matroska and MP4 files.
for wmv, I had to disable internal wma decoder, use ffmpeg decoder instead, reload info from file(s), then I get video codec, video available.
 



Re: foo_mpv - Video Player component based on mpv

Reply #114
I guess it's provided to foobar by whichever decoder/input component is responsible for opening the file on its side. Maybe some input components don't implement it.

Re: foo_mpv - Video Player component based on mpv

Reply #115
yes, just edit my comment above about my found. thanks
btw I will use your solution instead

 
SimplePortal 1.0.0 RC1 © 2008-2020