Gamer125 / fofix

Automatically exported from code.google.com/p/fofix
0 stars 0 forks source link

Unable to get videos (GStreamer) to work under MS Windows #1074

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
From worldrave (comment in r1957):
Well, now the log is at least telling me "gstreamer and dependencies aren't
set up" with newer log traps. The problem is, gstreamer and the
dependencies are DEFINITELY installed. The question of the day is if
gstreamer is setup properly for FoFiX, which is only something one of the
coders can answer. 
    After reading a bunch on this topic in the python forums, at least on
windows base, not in every case, but mostly, it's needed to be setup for
the application used, fofix in this case. I wouldn't even know enough to
setup gstreamer for fofix. Lys told me it's working fine for linux without
anything to setup, so that's cool to hear. I'm not planning on loading
linux anytime soon, as i just removed it a few weeks ago for certain reasons. 
   Anyway, this is such a cool feature, and will be cool when the day comes
when we can get it working on windows. Thanks so much for adding this. 

Original issue reported on code.google.com by evily...@gmail.com on 1 Nov 2009 at 2:12

GoogleCodeExporter commented 9 years ago
I'm not sure what "setting up for the application" means, but could it be about
including the gstreamer path using PYTHONPATH? Did you get another library to 
work
with FoFiX e.g. pygame 1.9?

On the other hand, i wonder if you have the equivalent of the
gstreamer-plugins-{core,base,good,bad,ugly} (e.g. gstreamer-plugins-bad) 
packages.

OR... do you have the ffmpeg gstreamer plugin[1]?

[1] http://gstreamer.freedesktop.org/modules/gst-ffmpeg.html

Original comment by evily...@gmail.com on 1 Nov 2009 at 2:23

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
"Recent" MS Windows binaries are available there:
http://www.gstreamer-winbuild.ylatuya.es/doku.php?id=start

Original comment by evily...@gmail.com on 1 Nov 2009 at 2:37

GoogleCodeExporter commented 9 years ago
Thansk for making this issue. I did grab the good version earlier tonight. I 
might
want to try the PYTHONPATH. Pygame works fine for me without any additional 
setup. I
will will double check some things. If you don't mind continuing to help a 
little
with us pesky windows users (kidding. LOL), i will add my findings to the wiki 
page,
along with the needed windows files to make it work. You have my word on that. 

Original comment by worldrave111@gmail.com on 1 Nov 2009 at 4:09

GoogleCodeExporter commented 9 years ago
I don't mind at all! Actually i'd very much like Windows users to be able to 
find
their way thru. It's unfortunate gstreamer isn't mainstream (popular) on 
Windows [yet].

Original comment by evily...@gmail.com on 1 Nov 2009 at 4:24

GoogleCodeExporter commented 9 years ago

Original comment by evily...@gmail.com on 1 Nov 2009 at 4:39

GoogleCodeExporter commented 9 years ago
Sweat, i knew i could count on you. I am fully willing to test anything needed 
to get
this working on windows, trial and error. Then when i am done, since this is 
pretty
mature currently, i'll add the proper info and also will offer the needed files 
that
will make it work and provide the links after uploading.
   And thanks a lot for you help. This is such a nice feature, and i will be making
serious use of it by making a lot of video's for a few theme's. 

Original comment by worldrave111@gmail.com on 1 Nov 2009 at 5:44

GoogleCodeExporter commented 9 years ago
I'm yet to do a heap of investigation, but I tired my dodgy "extract it and put 
it on
the path" way for my portable hard drive, and I couldn't get it to work.
I found that gstreamer was working (there's a test program that emits a tone) 
with no
warnings or anything, then I installed a python module I found for 2.6, and 
using
python -c "help('modules')" at the command line listed gst in there, but still 
FoFiX
refused to believe it was there and kindly disabled videos for me.
I'll look into it a bit more later.

Original comment by death.au on 1 Nov 2009 at 9:43

GoogleCodeExporter commented 9 years ago
And for the record, the line I used to test that gstreamer was working was this:
gst-launch-0.10 audiotestsrc ! autoaudiosink
It emits a constant tone, and you just press ctrl+c to kill it.
It also gives warnings about missing deps

Original comment by death.au on 1 Nov 2009 at 10:02

GoogleCodeExporter commented 9 years ago
Hey thanks for helping out with testing death_au. I'm out of town till monday 
night
or tuesday, but if any idea's come up, post them i i'll give them a shot til we 
fine
one that works. Then i will throw something together, and even make some batch 
files
to simplify things for a user, and upload some packages to make things easy for
everyone. And have a great day today!!!!!

Original comment by worldrave111@gmail.com on 1 Nov 2009 at 5:14

GoogleCodeExporter commented 9 years ago
Issue 1075 has been merged into this issue.

Original comment by evily...@gmail.com on 1 Nov 2009 at 8:27

GoogleCodeExporter commented 9 years ago
I have managed to play a stage video of RockBand (from TRZ somewhere on the 
fretsonfire.net forum, which is currently down) because it is in a special 
format: 
MPEG-PS (AVI/H.264) but it is in the wrong resolution (400x304) but when I try 
to 
convert it with Videolan VLC in the beginning it stutters and has very bad lag 
issues but in the middle it goes smooth as a dream. Videoplayertest.py 
recognizes 
the format but errors with a windows send report dialog. If you don't convert 
it 
videoplayertest displays the Invalid resolution for Surface error. Would it be 
possible to add this resolution because it is the resolution of the RockBand 
video 
rips? (It would make things a lot easier)

Original comment by pieterja...@hotmail.com on 2 Nov 2009 at 10:39

GoogleCodeExporter commented 9 years ago
The non-standard resolution shouldn't be the first error.
The invalid resolution error should be arriving second...

Original comment by evily...@gmail.com on 2 Nov 2009 at 12:53

GoogleCodeExporter commented 9 years ago
I know, but I said that the format of the video is correct and It plays when it 
is 
in a different resolution but I believe the converting isn't great so you get 
lags 
in your video. It gets past the Invalid Surface Error and as you said the 
second 
error is the Invalid Resolution Error, so that is what I am getting when I 
don't 
convert the video. But because of the rareness of this format of video (It 
isn't 
used often in other situations) you can't convert it with a normal video 
converter. 
So I am asking you to implement this resolution so I don't have to convert it 
in the 
first place.

Original comment by pieterja...@hotmail.com on 2 Nov 2009 at 1:26

GoogleCodeExporter commented 9 years ago
Can you please provide a sample?

And/or

Can you play that video using the following command?
gst-launch-0.10 filesrc location=/path/to/your/file.avi ! decodebin2 name=dbin 
dbin.
! autovideosink

Original comment by evily...@gmail.com on 4 Nov 2009 at 1:15

GoogleCodeExporter commented 9 years ago
It displays: 
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...

(gst-launch-0.10:4008): GLib-GObject-WARNING **: g_object_set_property: object 
class
'GstDataQueue' has no property named 'max-size-bytes'

(gst-launch-0.10:4008): GLib-GObject-WARNING **: g_object_set_property: object 
class
'GstDataQueue' has no property named 'max-size-visible'

Original comment by pieterja...@hotmail.com on 4 Nov 2009 at 7:55

GoogleCodeExporter commented 9 years ago
So the video doesn't play?
If so, it means gstreamer is unable to play that video, thus my VideoPlayer 
can't
play it either... (I totally rely on gstreamer).

Original comment by evily...@gmail.com on 5 Nov 2009 at 1:18

GoogleCodeExporter commented 9 years ago
Not if I play the original file, but when it's converted it plays but it 
displays a 
freezing image and some color distortion in the video. If you play the file 
with an 
for eg. The Kmplayer you will see that the original file plays fluently and the 
converted file with a lot of lag and distortion.

May I give you the links of the videos (Do I have to PM you or may I post it 
here ?)

Original comment by pieterja...@hotmail.com on 5 Nov 2009 at 1:41

GoogleCodeExporter commented 9 years ago
As far as i know, kmplayer doesn't use gstreamer.
But if you try with something that uses gstreamer (e.g. totem), is it able to 
play it?

FWIW, you can give me a link to the video, that'd be fine. If you'd rather not 
to,
you may also email it to me.

In any case, I don't quite see why we should put significant effort in 
supporting
videos that are so-so in terms of standard compliance. I suspect that supporting
videos that are not readily supported by gstreamer would require work i'm not 
ready
to put in.

Original comment by evily...@gmail.com on 5 Nov 2009 at 2:35

GoogleCodeExporter commented 9 years ago
Would you mind linking to the files that allowed you to get it working at all on
windows Pieter please? Some of us are hard at work trying to test this, and not
having much luck with anything working at any degree. I even tried compiling
gstreamer from scratch. That would be appreciated if you could. And thanks.

Original comment by worldrave111@gmail.com on 5 Nov 2009 at 5:38

GoogleCodeExporter commented 9 years ago
@evilynux:
I didn't say that The Kmplayer is a gstreamer based video player. I meant to 
say 
that if you play the video file with a common player it works but if you do 
with 
gstreamer it complains with size and resolution errors.

But if you will to give it a shot here are the links (It's a two-part file, you 
need 
both files to be at the same directory to extract them, It's the RB stage of 
Enter 
Sandman (with no sound it's uploaded by someone named TRZ on the FoF forum, so 
it's 
is his video not mine, if you get an error message, try to refresh the page) 

Enter Sandman Part 1: http://www.mediafire.com/?mhrjmmmomeu
Enter Sandman Part 2: http://www.mediafire.com/?ktz5wgztnza

@ Worldrave:
I did compile a package (it's for Windows XP 32 bit and Python 2.4) and I 
installed 
a lot of side-packages (PyGTK and PyGObject and the GST Core file and the GTK 
all-in-
bundle) but if you want it I can upload it for you. 

Original comment by pieterja...@hotmail.com on 5 Nov 2009 at 6:16

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Oh, python2.4? I am actually trying to find a working solution for python2.6, 
but i 
still appreciate the offer. Hope we can get this working. My focus is away from 
2.4 
and towards 2.6. I believe because even though mostly is faster, i remembered 
there
was advantages of python2.6. Although i can't remember right now. Maybe i should
install python2.4 back on again and just change the windows directory names 
back and
forth to switch between using them, like i did before when i had them both 
installed.
   I believe a lot of our direction though is trying to migrate solely to using
python2.6 though, if i am not mistaken. 

Original comment by worldrave111@gmail.com on 6 Nov 2009 at 3:44

GoogleCodeExporter commented 9 years ago
I believe that the Python 2.6 version of FoFiX hasn't the memory lag/bug issue.
But the performance of 2.6 is poor in comparison with 2.4 on my old computer.
And yes the idea is when the performance of 2.6 is similar to the performance 
of 
2.4, The 2.4 version will be discontinued. But I think setting the binaries up 
for 
Python 2.6 is the same way as Python 2.4, I believe.
You need the packages from this site: 
http://www.gstreamer-winbuild.ylatuya.es/doku.php?id=download.
Download both GStreamer-WinBuild-0.10.4.exe (Core) AND 
Pygst-0.10.15.1-Python2.6.exe 
(Python Bindings)
I think you do not need the GTK binaries but if you need them I think is the 
PyGTK
and maybe also PyGObject. Google it.
I think that you are set to go. Install the Core of Gstreamer anywhere you like 
(eg. 
C:\Gstreamer) and the Python binding at C:\Python26 and you're done.   

Original comment by pieterja...@hotmail.com on 6 Nov 2009 at 5:33

GoogleCodeExporter commented 9 years ago
FWIW, Gtk is not directly required. However, it might be of dependency of 
gobject.
GObject IS required.

Original comment by evily...@gmail.com on 6 Nov 2009 at 5:53

GoogleCodeExporter commented 9 years ago
i have put the gstreamer install instructions for windows in the 
RunningUnderPython26
wiki page.

But on my machine video playback doesn't work anymore with the latest version of
VideoPlayer.

I only see a black screen (sound is working), this happens since r1868.
in r1868 only testVideoPlayerLayer() doesn't work, testVideoPlayerSlave() and
testVideoPlayerSlaveShowOff() do work.

in the newest revision (r1960) only testVideoPlayerSlaveShowOff() seems to work

Original comment by maxx...@gmail.com on 6 Nov 2009 at 6:21

GoogleCodeExporter commented 9 years ago
It is pygtk that depends on pygobject, not the other way around.  pygtk is not 
needed.

Original comment by john.stumpo on 6 Nov 2009 at 6:57

GoogleCodeExporter commented 9 years ago
Could someone test these Python Bindings I compiled for Python 2.4 (Windows XP 
SP3, 
32 bit). As long you have installed Python 2.4 at "Your Drive\Python24" it 
should 
work fine. (I used %HOMEDRIVE% as drive letter, so no matter what your drive 
letter 
is it should recognize it.) 
Download here: http://www.mediafire.com/?nmuymjycg2z

TESTING AT YOUR OWN RISK

Original comment by pieterja...@hotmail.com on 6 Nov 2009 at 7:46

GoogleCodeExporter commented 9 years ago
@maxx.h2: That's weird... and would deserve investigation... in r1868, i simply 
moved
away from mipmapping... besides, be careful, the newest revision of 
VideoPlayerTest
assumes your video is at least 14 seconds long... the first test case now only 
runs
for 4 seconds (between 10s and 14s).

Also noteworthy, I test my code on 2 different machines and in both cases, the 
test
case that's most problematic is testVideoPlayerSlave(), where the background 
(not the
video) looks "corrupted".

My machines are:
- desktop: amd64 sempron 2800+, NVIDIA GeForce 6100, Debian unstable;
- tabletpc: amd64 turion x2, AMD/ATI HD3200, Debian unstable.
Both use gstreamer 0.10.25, python bindings 0.10.16 and ffmpeg plugin 0.10.9.

Original comment by evily...@gmail.com on 6 Nov 2009 at 9:14

GoogleCodeExporter commented 9 years ago
Issue 1079 has been merged into this issue.

Original comment by evily...@gmail.com on 7 Nov 2009 at 3:23

GoogleCodeExporter commented 9 years ago
I was trying to play with video ingame, and fofix crashed

see fofix.log

Original comment by eduardo....@gmail.com on 7 Nov 2009 at 7:05

Attachments:

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
I put the video there, edited song.ini and error still continues!

it says invalid file, but I tested in VideoPlayerTest, and it works great!

Original comment by eduardo....@gmail.com on 8 Nov 2009 at 1:18

GoogleCodeExporter commented 9 years ago
(Reposting: Oops, i had posted under my gf account).

Obviously i need to put more time into proper error handling.
That said, from your log, it couldn't find the video:
D:\Games\Fofix\data\songs\Custom Songs\Detroit Rock City\

The filename is missing... was this caused by an empty video_file key in 
song.ini?

Original comment by evily...@gmail.com on 8 Nov 2009 at 4:52

GoogleCodeExporter commented 9 years ago
Now it worked! I edited the song.ini, and worked

Original comment by eduardo....@gmail.com on 8 Nov 2009 at 3:35

GoogleCodeExporter commented 9 years ago
song start time is not working here

Original comment by eduardo....@gmail.com on 8 Nov 2009 at 4:13

GoogleCodeExporter commented 9 years ago
@eduardo: you're getting me confused, editing the song.ini wasn't working but 
now it
works?!

About video_start_time, for it to work...:
1) your file has to be seekable (basically respect format standard);
2) gstreamer has to have seek support for that format.

If seeking is not possible, you should get a warning in the console (that 
warning may
not be shown in the fofix.log...).

Lastly, there is another possibility. For some reason (needs more 
investigation), i
need to wait for gstreamer to be really ready (the ready signal is sent before 
being
ready!?). I worked around this by adding a 1000 ms wait at line 147 of 
VideoPlayer.py
. You may try to increase it.

In any case, if the first seek failed (bad timing), the second one will work in 
any
case if the video is seekable (and gstreamer supports seeking for that file). 
So you
may see if it works at all by waiting until the first video loop.

Original comment by evily...@gmail.com on 8 Nov 2009 at 7:45

GoogleCodeExporter commented 9 years ago
I confirm that revision 1972 supports video playback on my PC. But I need only 
some 
video files that have the right resolution and codec (my videos display 
distorted 
images).   

Original comment by pieterja...@hotmail.com on 8 Nov 2009 at 10:58

GoogleCodeExporter commented 9 years ago
Sorry, I didn't edited correctly that time.

And I will try to do it! Thanks, and congratulations for this project!

Original comment by eduardo....@gmail.com on 9 Nov 2009 at 6:00

GoogleCodeExporter commented 9 years ago
Can anyone using Windows 7 64bit confirm that gstreamer is working? I can 
confirm
it's not working on Vista 64bit at least. Dreading to install linux again JUST 
to use
this. LOL

Original comment by worldrave111@gmail.com on 11 Nov 2009 at 4:09

GoogleCodeExporter commented 9 years ago
I use Vista 64bit and it's working!

Original comment by eduardo....@gmail.com on 13 Nov 2009 at 1:52

GoogleCodeExporter commented 9 years ago
After many attempts I have switched to Python 2.6 and I have installed the 
Gstreamer 
binaries as in the RunningUnderPython26 page. So I'm pretty sure that the video 
is 
the problem. It has something to do with Video Matrix. Here is my log file. I 
almost 
got it working.

Original comment by pieterja...@hotmail.com on 15 Nov 2009 at 6:23

Attachments:

GoogleCodeExporter commented 9 years ago
Did you have ctypes installed?
What version of PyOpenGL did you use? [1]

[1] http://osdir.com/ml/python.opengl.user/2008-06/msg00007.html

Original comment by evily...@gmail.com on 16 Nov 2009 at 1:12

GoogleCodeExporter commented 9 years ago
Ctypes? I thought it wouldn't be necessary for Python 2.6, well I can give it a 
shot. I don't see any link of ctypes on the Modules Page of the Python 2.6 
version. 

I'm using PyOpenGL 3.0.0

Original comment by pieterja...@hotmail.com on 17 Nov 2009 at 4:18

GoogleCodeExporter commented 9 years ago
My bad, no need for ctypes in python > 2.4.
Assuming you are using PyOpenGL 3.0.0 final or more (e.g. NOT 3.0.0b2), i don't 
know
what's your issue.

Original comment by evily...@gmail.com on 17 Nov 2009 at 7:09

GoogleCodeExporter commented 9 years ago
I don't know the exact version number of my PyOpenGL but it is the one I 
downloaded 
it from the Wikipage (RunningUnderPython26), In "version.py" of the OpenGl 
folder 
located in the site-package directory (full path:%HOMEDRIVE%\Python26\Lib\site-
packages\OpenGL\version.py) it says only: __version__ = '3.0.0'.  

Can you provide me a testing video (I think it would be better if FoFiX SVN 
comes 
along with test videos, but I guess that this has been come to mind earlier, 
that I 
is already I place for FoFiX 4.00)

Here is an info file if it can help you. It is also located in the site-package 
directory (I can open it with Notepad (Windows), but I guess you run an Lunix 
OS 
(Ubuntu) so try to open it with a text-reader)  

Original comment by pieterja...@hotmail.com on 17 Nov 2009 at 9:04

Attachments:

GoogleCodeExporter commented 9 years ago
- Test video file: I assume that someone (e.g. death_au or blazingamer?) will 
provide
video files for 4.0.0. For now, you can pretty much use any YouTube video.

- PyOpenGL version: You have 3.0.0 final. Thus i don't know what can possibly go
wrong... As you have a MS Windows-specific error it's very hard for me to
investigate... and my previous attempt at googling for your error didn't help 
much.

Original comment by evily...@gmail.com on 17 Nov 2009 at 9:17

GoogleCodeExporter commented 9 years ago
When playing a FLV renamed to t1.avi youtube file, I get this error:

** (python.exe:3100): CRITICAL **: file ..\Source\gstreamer\gst\gstindex.c: 
line 
663: assertion 'GST_IS_INDEX (index)' failed

The PATH variable must set only on 'c:\gstreamer\bin' and nothing else, right?

Original comment by pieterja...@hotmail.com on 17 Nov 2009 at 10:46

GoogleCodeExporter commented 9 years ago
Googling for this issue shows that you might have been unlucky and fell on a 
"not so
compliant FLV file".

Original comment by evily...@gmail.com on 18 Nov 2009 at 3:31