Hey Dan, I gave this a try on my Arch Linux box, and it runs fine. I had to do a small tweak to get it to run, which was to remove the specifc library versions from the lib.load_library() statements in av.py (change "avformat-57" to "avformat", etc). After that, the loader function was able to properly pick up the system ffmpeg libraries. Fantastic work. I've looked over your files, and it's quite a lot of work that you've done with the structures and function definitions.
I ran a few different formats, such as mpeg2/ts, webm, ogg/vorbis, and h264/mp4. All worked OK, with very minor issues that were likely causes by my poor graphics card on this test box. (Some minor stuttering with the mpeg2/ts, but It's a semi-non-standard format that local DTV is broadcast in here). There's nothing pretty about wrapping libraries with ctypes, but you've written some clean code here. Let me know if there is anything you need help on, once you start to stabilized things -Ben On Tuesday, March 14, 2017 at 9:04:50 AM UTC+9, Benjamin Moran wrote: > > Looks great. I'll give this a try today and let you know how it goes. > > > On Monday, March 13, 2017 at 10:35:02 PM UTC+9, Daniel Gillet wrote: >> >> Here is a quick update on my progress. >> >> I can now play audio and video using most formats. I tried mp4, avi, ogg, >> mp3, and a few other formats. What is NOT working at the moment is to >> correctly detect the end of the video. I will look into it, but this was >> not my priority yet. >> >> The more I progress, the more I realize the code found in >> pyglet/media/sources/avbin.py might also need some work. I'm learning as I >> progress. So I'm sure there are tons of things I'm not doing properly. >> >> For the sake of giving people a go at it, I'll push on my repo on a new >> branch >> <https://bitbucket.org/dangillet/pyglet/src/a9aa3de95ce5d5c73049382e9ced9c755b6f5d40/?at=ffmpeg>. >> >> This code is still changing A LOT. I appreciate any feedback. >> >> How to use it? >> - Clone the repo >> - Go in pyglet/examples/video_ffmpeg >> - Place in this folder the *.dll/*.so from FFmpeg >> - Place also there your media file >> - run python media_player.py my_media.mp4 >> >> It will probably crash. :) >> >> >> -- You received this message because you are subscribed to the Google Groups "pyglet-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to pyglet-users+unsubscr...@googlegroups.com. To post to this group, send email to pyglet-users@googlegroups.com. Visit this group at https://groups.google.com/group/pyglet-users. For more options, visit https://groups.google.com/d/optout.