Alexandre,

I'm sorry, I think I may have across as a bit insensitive as well.

As to shipping , Lenard, Rene, and anyone else that is concerned, I was
considering that ffplay could be distributed as a statically built
executable, so the movie module can, in the worst case scenario, fall back
on a working movie player that it knows about, and exactly where it is
located. This lessens the need for the user to have vlc, mplayer, or any
other video player installed.

-Tyler

On Tue, May 12, 2009 at 8:44 AM, Lenard Lindstrom <le...@telus.net> wrote:

> Hi Alexandre,
>
> Sorry if I came across a little insensitive on the matter of movie
> encoding. As you can tell I'm not very knowledgeable on video encoding.  No
> one is suggesting Pygame shouldn't support motion-jpeg. Apparently smpeg,
> upon which the existing movie module is based, doesn't. The existing module
> has problems, not showing an image on XP is one I've recently encountered.
> That is why Tyler writing a replacement module using ffmpeg. If ffmpeg
> supports Motion-JPEG, then great.
>
> The thing is the popular ffmpeg binaries for Windows are unsuitable for use
> with Pygame. All third party packages used by Pygame on Windows are custom
> built for Pygame and distributed with it. The list is long enough already,
> and ffmpeg will add to it. If Motion-JPEG requires a separately built
> library, another dependency, then there will need to be general support from
> Pygame users before it is added to Windows. Of course if you are committed
> to seeing general Motion-JPEG support in Pygame there are ways you can help.
> Make a short test video available in the desired format. I can check if my
> experimental ffmpeg build will accept it. If not then the appropriate
> support libraries must be identified and built. Providing links to enabling
> Motion-JPEG support in ffmpeg would speed the process. If you are competent
> in building libraries with C and MSYS then you can try building ffmpeg
> yourself and post the build instructions. I will use them for Pygame. Note
> that MSYS 1.0.11 will be needed. But of course ffmpeg distributions for
> other operating systems must be considered as well.
>
> Lenard
>
>
>
> Alexandre Quessy wrote:
>
>> Hi !
>> Supporting only MPEG and AVI ?
>> Well, first of all, MPEG can be either a codec or a container, whereas
>> AVI is a container that can contain many different codecs. This said,
>> I guess "MPEG" here refers to the MPEG container. In this container,
>> there can be MPEG-2, which is a video codec.
>>
>> My two cents : I would recommend supporting also the Motion-JPEG codec.
>> It is faster to decode in realtime than MPEG-family time-based codecs.
>> For a game, a developer would most likely either :
>>
>> 1) play a movie as a transition betwen game levels.
>> MPEG-2, H.263 or H.264 would be best suited for this.
>>
>> 2) play different frames from a movie to make a character or landscape
>> change over time.
>> Motion-JPEG or Motion-PNG are best for this, since their compression
>> is not time-based, it is faster to decode when reading random-access
>> frames.
>>
>> Hence, in the case #2, motion-JPEG is pretty handy. The picture would
>> also look a lot better than with a time-based compression. I think
>> there is also a motion-PNG codec, which supports a transparency
>> channel. The Animation codec is a lossless codec from Apple that also
>> supports a transparency channel. It would nice to have it too. I guess
>> ffmpeg supports them all.
>>
>> Ciao,
>>
>>
>> 2009/5/8 Tyler Laing <trinio...@gmail.com>:
>>
>>
>>> Another significant difference I just found is that SDL_ffmpeg has no
>>> support for subtitle streams. Supporting subtitle streams is smart, it
>>> allows for it to be easier to internationalize games by having the game
>>> select the subtitle stream it wants to play. Plus, I like my cutscenes to
>>> have subtitles in english, as I'm hard of hearing. :)
>>>
>>> -Tyler
>>>
>>> On Thu, May 7, 2009 at 4:59 PM, Tyler Laing <trinio...@gmail.com> wrote:
>>>
>>>
>>>> Hi Rene,
>>>>
>>>> Perhaps. But SDL_ffmpeg is a separate project, another dependency.
>>>> FFmpeg
>>>> is much more likely to be on someone's system. SDL_ffmpeg also uses a
>>>> completely different build system, complicating the process of using it
>>>> within pygame. I'm having trouble getting it built against ffmpeg 0.5.0
>>>> and
>>>> I can't find any info or instructions on building it. If I'm having
>>>> trouble,
>>>> it'll also be difficult for others. Its just not ready for wide-scale
>>>> usage,
>>>> in my personal view.
>>>>
>>>> Like I said, I am definitely leaning towards just using ffmpeg directly.
>>>> It also means I have greater control over whats going on, and don't have
>>>> to
>>>> try to fiddle and be stopped by the limitations of sdl_ffmpeg.
>>>>
>>>> -Tyler
>>>>
>>>> On Thu, May 7, 2009 at 4:33 PM, René Dudfield <ren...@gmail.com> wrote:
>>>>
>>>>
>>>>> Hi,
>>>>>
>>>>> I think you will end up re implementing many of the things from
>>>>> SDL_ffpmeg anyway.
>>>>>
>>>>> Overlay is pretty good - and is designed for movie playback.  However
>>>>> it
>>>>> has limitations.
>>>>> The C docs are here: http://sdl.beuc.net/sdl.wiki/SDL_Overlay
>>>>>
>>>>> It's probably a good idea to get basic playback working first, and then
>>>>> worry about other features.
>>>>>
>>>>> SDL_ffmpeg has most of what is needed to remake the current Movie
>>>>> module
>>>>> using ffmpeg.
>>>>>
>>>>>
>>>>> cu,
>>>>>
>>>>>
>>>>> On Fri, May 8, 2009 at 2:27 AM, Tyler Laing <trinio...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>
>>>>>> Hello all,
>>>>>>
>>>>>> I've been looking at SDL_ffmpeg and ffmpeg.
>>>>>>
>>>>>> There are some considerations for choosing each. SDL_ffmpeg is fairly
>>>>>> simple to interact with, load, play, pause a movie. You can interact
>>>>>> with
>>>>>> each frame, and so on. However, SDL_ffmpeg converts every frame from
>>>>>> YUV to
>>>>>> RGB, to make it easier on the programmers to use image manipulation
>>>>>> functions and so on. This is a performance hit, for sure. Considering
>>>>>> Python's reputation already for being slow, having a movie module take
>>>>>> that
>>>>>> kind of hit will result in a further stain to the reputation, when
>>>>>> sometimes, rarely, movies stutter or pause when they shouldn't. It can
>>>>>> take
>>>>>> a long time to recover from a negative reputation.
>>>>>>
>>>>>> For ffmpeg, it offers much the same capability, but without the SDL
>>>>>> conveniences. It does offer far more capability with movie files than
>>>>>> SDL_ffmpeg does though. I think, but I'm not sure, that the pygame
>>>>>> surfaces
>>>>>> do not need to have the frames of the movie be in YUV format? Or its a
>>>>>> quick
>>>>>> operation to convert the surface for YUV then back to RGB. Something
>>>>>> like
>>>>>> that, correct me if I'm wrong. So we don't need every frame to be
>>>>>> converted
>>>>>> to RGB, except when we do need it.
>>>>>>
>>>>>> If I went with ffmpeg, I was considering a design where we explicitly
>>>>>> convert the movie from YUV to RGB, with a simple convert function.
>>>>>> From the
>>>>>> point its called, to the point it is called again, the movie is in RGB
>>>>>> format. It fits with the python philosophy that "Explicit is better
>>>>>> than
>>>>>> implicit." (-The Zen of Python, by Tim Peters)
>>>>>>
>>>>>> Personally, I would prefer to work with ffmpeg, because of the greater
>>>>>> functionality, and the lack of conversion performance hit.
>>>>>>
>>>>>> -Tyler
>>>>>>
>>>>>> --
>>>>>> Visit my blog at http://oddco.ca/zeroth/zblog
>>>>>>
>>>>>>
>>>>>
>>>> --
>>>> Visit my blog at http://oddco.ca/zeroth/zblog
>>>>
>>>>
>>>
>>> --
>>> Visit my blog at http://oddco.ca/zeroth/zblog
>>>
>>>
>>>
>>
>>
>>
>>
>>
>
>


-- 
Visit my blog at http://oddco.ca/zeroth/zblog

Reply via email to