jaseg / python-mpv

Python interface to the awesome mpv media player
https://git.jaseg.de/python-mpv.git
Other
547 stars 68 forks source link

How to use it in Mac OS? #59

Closed po1ng closed 6 years ago

po1ng commented 6 years ago

Hello, I run the example code, but no any responses. The program is running all the time, and there's nothing wrong with it. And this is my code.

player = mpv.MPV(ytdl=True)
url = 'https://www.bilibili.com/video/av16942715/'
player.play(url)
McSinyx commented 6 years ago

The problem isn't in macOS-compatiblity of python-mpv, but in your code. mpv.MPV.play only tell the player to play, but the script ends so the mpv instance get closed too. You'll need to add player.wait_for_playback to the end of the script to, eh, make it wait for playback before quiting.

po1ng commented 6 years ago

emmmmm... sorry, I don't really understand what you mean. you mean the script run so fast, and I need to send a signal to it? code like this?

player = mpv.MPV(ytdl=True)
url = 'https://www.bilibili.com/video/av16942715/'
player.play(url)
player.wait_for_playback()

or you have any other more detailed documents? thx

McSinyx commented 6 years ago

Yep, the code should be like that (exept the indentation), because the play method only starts the playback (it spawns an internal mpv command, to be exact) and return. Now the your script will run the next line, if there is any, or quit. Since the mpv instance is a children thread of the script, it also gets closed. wait_for_playback pends until the playback is done so that you can watch the video.

Documentation, as usual, can be accessed via python3 -c "import mpv; help(mpv)".

po1ng commented 6 years ago

emmm...indentation is my fault. I run my script, but no any responses. I mean the script run for a long time without any responses in my terminal. And also no video is playing, is this normal?

McSinyx commented 6 years ago

Did you put import mpv at the begin of the script? Does mpv https://www.bilibili.com/video/av16942715/ work? Could you please post infomation on the version of youtube-dl, Python 3 and mpv?

jaseg commented 6 years ago

Since this and #61 really look like duplicates, I'm closing this now. If you have any further questions, feel free to re-open it.

Try the potential PyQT workaround in #61 and over there tell us whether it works. I don't have an Apple machine so I can't debug this on my own.

jaseg commented 6 years ago

Oh, and one more hint, though that is not likely to be the problem: youtube-dl sometimes does take a really long time. For testing better try a small, local file such as https://raw.githubusercontent.com/jaseg/python-mpv/master/test.webm .