Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > New and alternative a/v containers

View Poll Results: How should the matroska team proceed with the release of the win32 port of Gstreamer?
Gstreamer ?? wtf ? Stop talking in riddles please .... 10 15.63%
I am a multimedia app developer and liked to get my hands on an early build now 7 10.94%
I am just a user, but with advanced PC knowledge and liked to toy with it now 28 43.75%
I am a multimedia app developer, but not really interested in Gstreamer 4 6.25%
I am just a user, but i need a finaly tool with a GUI, similar to mkvmerge, so no interest from side now 7 10.94%
You never get this done matroska guys, stop it and improve on mkvmerge and the DShow stuff ! 8 12.50%
Voters: 64. You may not vote on this poll

Reply
 
Thread Tools Search this Thread Display Modes
Old 25th July 2004, 07:35   #1  |  Link
ChristianHJW
Matroska Team
 
ChristianHJW's Avatar
 
Join Date: Nov 2002
Location: Bavaria - Germany
Posts: 1,341
Release of gstreamer win32 port is near ....

Hi,

it has been comparably silent from us for a couple of weeks, mainly because we all had to fight with real life issues ( especially Mosu and myself ), and the core devs around robux4 were working hard on setting up a new server configuration for matroska.org ( bigger part is hosted on a powerful Russian server now .... big thanks to Haali !), overworking the website completely and also on the

win32 port of Gstreamer ! ( codename : Winstreamer, but the Gstreamer guys dont like that a lot )

This weekend it seems robux4 finally had a real breakthrough, he has some basic functionalities working. Unfortunately his last CVS commit to Gstreamer CVS broke the Linux builds , but the guys are working on this already.

I am turning to you with a couple of questions that should help us to set the right release date. Please give us an idea on how we should proceed now.

Thanks

Christian
matroska project admin
ChristianHJW is offline   Reply With Quote
Old 25th July 2004, 10:33   #2  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
I voted for "I am a multimedia app developer, but not really interested in Gstreamer". I'm skeptical that Matroska, GStreamer, Linux etc. is so much better, so much required or so much easier etc. than MP4, DShow, Windows etc. I'm not a expert in C/C++/COM+/Linux and I'm not a expert in any AV formats and frameworks, my knowledge is rather sketchy, so consider my vote as not much important. If you guys produce something that makes things easier for me you can be sure you have all my support. I'm not ignorant to those things or think I'm right, I examine constantly what fits my needs best, what's the easiest solution and when it's time I'm making the switch. Only thing I know is what I've done so far with C/C++ and COM+ was much harder compared to managed API's and managed code in VB .NET. I hope your API's are gone be managed without C/C++/COM+ semantics, rich, easy to use and well documented with example applications. If that's the case more developers will be able working with it.
stax76 is offline   Reply With Quote
Old 25th July 2004, 11:16   #3  |  Link
filewalker
Registered User
 
filewalker's Avatar
 
Join Date: Mar 2002
Location: Austria
Posts: 329
I recently read athttp://gstreamer.freedesktop.org/ about it.

Which benefits, do you think, will Matroska have with Gstreamer instead of DShow framework?
Will it be a breakthrough in some issues for Matroska?

Cu filewalker
__________________
I 'm ripping waves!...nothing else! \m/
filewalker is offline   Reply With Quote
Old 25th July 2004, 11:23   #4  |  Link
Koepi
Moderator
 
Koepi's Avatar
 
Join Date: Oct 2001
Location: Germany
Posts: 4,454
Is this really a poll about vaporware chris?

I thought you knew better in the meantime.
Koepi is offline   Reply With Quote
Old 25th July 2004, 13:26   #5  |  Link
stax76
Registered User
 
stax76's Avatar
 
Join Date: Jun 2002
Location: On thin ice
Posts: 6,837
"Which benefits, do you think, will Matroska have with Gstreamer instead of DShow framework?
Will it be a breakthrough in some issues for Matroska?"

there are probably a lot benefits like it's open source, so if it sucks, you have problems or whatever you can work on it, you can port GStreamer filters to WinStreamer which would also be a big benefit.
stax76 is offline   Reply With Quote
Old 25th July 2004, 15:29   #6  |  Link
bond
Registered User
 
Join Date: Nov 2001
Posts: 9,770
where is the "i am not going to vote on chris' polls anymore until i see a working binary of what he always promises"
__________________
Between the weak and the strong one it is the freedom which oppresses and the law that liberates (Jean Jacques Rousseau)
I know, that I know nothing (Socrates)

MPEG-4 ASP FAQ | AVC/H.264 FAQ | AAC FAQ | MP4 FAQ | MP4Menu stores DVD Menus in MP4 (guide)
Ogg Theora | Ogg Vorbis
use WM9 today and get Micro$oft controlling the A/V market tomorrow for free
bond is offline   Reply With Quote
Old 25th July 2004, 15:45   #7  |  Link
Mosu
MKVToolNix author
 
Mosu's Avatar
 
Join Date: Sep 2002
Location: Braunschweig, Germany
Posts: 4,278
Quote:
Originally posted by bond
where is the "i am not going to vote on chris' polls anymore until i see a working binary of what he always promises"
That one would be unvotable in one of Chris' polls, wouldn't it? (yes, I know what you meant)
__________________
Latest MKVToolNix is v83.0

If I ever ask you to upload something, please use my file server.
Mosu is offline   Reply With Quote
Old 25th July 2004, 15:45   #8  |  Link
robUx4
Matroska Team
 
robUx4's Avatar
 
Join Date: Dec 2001
Location: Paris, France
Posts: 421
Quote:
Originally posted by Koepi
Is this really a poll about vaporware chris?

I thought you knew better in the meantime.
Last time I heard about vapourware it was about Matroska that was a silly idea that would never work...

GStreamer on Windows definitely works from the current CVS (and is now compatible with the Linux build). I created a Matroska file with it, no coding required. (OK the file is not playing fine because I don't know the right command to use)

I will release the binaries shortly so that everyone can give it a try.

(BTW, Windows is officially supported by the GStreamer ppl)
robUx4 is offline   Reply With Quote
Old 25th July 2004, 15:52   #9  |  Link
robUx4
Matroska Team
 
robUx4's Avatar
 
Join Date: Dec 2001
Location: Paris, France
Posts: 421
Quote:
Originally posted by bond
where is the "i am not going to vote on chris' polls anymore until i see a working binary of what he always promises"
Now you can vote.
robUx4 is offline   Reply With Quote
Old 25th July 2004, 16:34   #10  |  Link
Hiro2k
New Container Mod
 
Join Date: Apr 2002
Location: Cuernavaca, Mexico
Posts: 770
Where is the "I'm a mod so I need to see this first!"

Let's see what we can do with this new alpha release.
Hiro2k is offline   Reply With Quote
Old 25th July 2004, 16:40   #11  |  Link
robUx4
Matroska Team
 
robUx4's Avatar
 
Join Date: Dec 2001
Location: Paris, France
Posts: 421
Quote:
Originally posted by Hiro2k
Where is the "I'm a mod so I need to see this first!"

Let's see what we can do with this new alpha release.
Not much I'm afraid. But it's a good start. It's quite windows friendly for developpers now. So people like me should not be afraid to work on it anymore
robUx4 is offline   Reply With Quote
Old 25th July 2004, 16:49   #12  |  Link
ChristianHJW
Matroska Team
 
ChristianHJW's Avatar
 
Join Date: Nov 2002
Location: Bavaria - Germany
Posts: 1,341
Quote:
Originally posted by Hiro2k Let's see what we can do with this new alpha release.
... as robux4 said, not a lot yet. That was exactly the point of the poll, to make a decision based on it when we should release it.

Windows Devs interested in what can be done with Gstreamer can now dive fully into the code and play with it, for advanced users there are not enough plugins compiled/working yet, and unexperienced users like me ( who need a GUI ) simply cant do anything with it.

Based on the results of the poll, i had planned to talk to the guys when we will make it public. Of course, all the 'vapourware' talk forced us to release what we have. I really wonder how much the matroska team has to suffer until this shit will finally stop ....
ChristianHJW is offline   Reply With Quote
Old 25th July 2004, 17:02   #13  |  Link
BlackSun
CoreCodec
 
BlackSun's Avatar
 
Join Date: Oct 2001
Location: Toulouse
Posts: 726
I wish I was able to post in the private forum again to get some things clear

There is some stupid comments there (yeah like mine)
__________________
BlackSun
The Concentric Circles of Audio and Video
BlackSun is offline   Reply With Quote
Old 25th July 2004, 17:07   #14  |  Link
Lefungus
Registered User
 
Lefungus's Avatar
 
Join Date: Apr 2002
Location: Bretagne
Posts: 192
I'm glad Gstreamer for windows has been released. Gsreamer has lots of momentum under *nix variants. New-generation audio/video players will or are currently using it. Porting gstreamer on win32 means we can finally see a viable cross-platform framework to work on. Both platforms will benefit from it.
__________________

Some old avisynth filters

Last edited by Lefungus; 25th July 2004 at 17:10.
Lefungus is offline   Reply With Quote
Old 25th July 2004, 19:59   #15  |  Link
unmei
frying subs
 
unmei's Avatar
 
Join Date: Jan 2003
Location: ch-2500
Posts: 891
i think there should be a "libintl2.dll" in the package. I copied and renamed intl.dll to that name and it works somehow this way. Also the plugins give no popup if they are copied into the bin folder (but functionality seems the same in either folders).

Apart from that, the mka i demuxed to mp3 gives the very feeling from when playing with mkxds 14 or 15 months ago -- it plays, choppy, but it the hell of plays. Both in foobar and winamp. COOL!
__________________
-nyo
unmei is offline   Reply With Quote
Old 25th July 2004, 22:18   #16  |  Link
robUx4
Matroska Team
 
robUx4's Avatar
 
Join Date: Dec 2001
Location: Paris, France
Posts: 421
Why did you need libintl2.dll ? It's not in my PATH and not in these dir and I have no problems. Or maybe it's the reason why there are some strange warnings ? (I have libint-2.dll but no libintl2.dll on my computer and it's not in my PATH)

What kind of popup are you talking about ? When you add a plugin in plugins/ you have to re-run gst-register.exe.

Thx for testing, I'll add much more plugins for the next release.
robUx4 is offline   Reply With Quote
Old 26th July 2004, 14:32   #17  |  Link
Kurosu
Registered User
 
Join Date: Sep 2002
Location: France
Posts: 432
It's good to know that a project increases the number of platfoms on which it works, especially one which fills a huge gap. I'm sure people that have written input/output plugins for very specific platforms will see the benefit of having an universal framework (yet not codec interface).

I understand that this poll might help RobUx4 to decide where he should invest his free time, but maybe the Matroska constant references were a bit too numerous

Overall, RobUx4, you has my full (moral ) support to continue your work on both projects, although, not as an user, I think Gstreamer is more in need of your help. Let's see where it will take us, and hope it'll help the coming of other universal (or at least working on many mainstream platforms) tools!

Last edited by Kurosu; 26th July 2004 at 17:36.
Kurosu is offline   Reply With Quote
Old 26th July 2004, 17:00   #18  |  Link
ChristianHJW
Matroska Team
 
ChristianHJW's Avatar
 
Join Date: Nov 2002
Location: Bavaria - Germany
Posts: 1,341
Quote:
Originally posted by Koepi Is this really a poll about vaporware chris?I thought you knew better in the meantime.
No its not. You owe me an apology Koepi, i leave it to you when you want to give it to me, and to the whole matroska team. Even powerful supermods of extremely influential webforums should be able to apologize if they made a mistake, and in public.

Show us you have the nuts to do that.

Christian
matroska project admin
ChristianHJW is offline   Reply With Quote
Old 26th July 2004, 17:10   #19  |  Link
alexnoe
Banned
 
alexnoe's Avatar
 
Join Date: Aug 2002
Location: Germany
Posts: 1,737
[ shit inserted by someone else who couldn't make up an own post ] guys, plz cool down, lets get back to the topic! it doesnt help anyone to "mehr öl ins feuer zu schütten"!
and it especially doesnt help anyone if a thread about gstreamer turns into a flamewar and everyone forgets about discussing and testing it

edited
[ end bullshit ]
-----------------

Pfui, Bond. Schäm dich. Shame on you. Honte à toi. I would have expected that from someone, but not from you. It should be comprehensible even for some people even more stupid than some here that you chose the wrong post to edit.

Last edited by alexnoe; 26th July 2004 at 19:55.
alexnoe is offline   Reply With Quote
Old 26th July 2004, 18:17   #20  |  Link
unmei
frying subs
 
unmei's Avatar
 
Join Date: Jan 2003
Location: ch-2500
Posts: 891
OK, more details coming
(1) copy the content of /bin into C:\gstremer\bin and the content of /plugin into C:\gstreamer\plugin (i don't copy registry.xml now as it build in another place later and was not overwritten the first time)

note these things are long now, conclusion is at end of (7) and fix is doing (8).

(2) run gst-register.exe
-> results in this popup


and nothing being done. (yes you were right, not libintl2.dll, but libintl-2.dll)

(3) copy intl.dll to libintl-2.dll (now i have BOTH a libintl-2.dll and intl.dll in my bin folder, which are the same)

(4) rerun gst-register
output (probably copped on top by console buffer):

[..]
** (process:3292): CRITICAL **: unimplemented vararg field type 38282751
[repeat several times]
** (process:3292): CRITICAL **: unimplemented vararg field type 1899767295
[repeat even more times]
** (process:3292): CRITICAL **: unimplemented vararg field type 38282751
[repeat several times]
** (process:3292): CRITICAL **: unimplemented vararg field type 1899767295
[repeat several times]
** (process:3292): CRITICAL **: unimplemented vararg field type 1897670143


** (process:3292): CRITICAL **: unimplemented vararg field type 1900029439


** (process:3292): CRITICAL **: unimplemented vararg field type 1899767295


** (process:3292): CRITICAL **: unimplemented vararg field type 1897670143
[..39 and ..95 then alternate a lot of times]
[and finally]
Rebuilding global_registry (c:\gstreamer/registry.xml) ...
Added plugin gstaudiofilter with 0 features.
Added plugin gstaudio with 0 features.
Added plugin gstspider with 2 features.
Added plugin gstoptscheduler with 1 feature.
Added plugin gstelements with 13 features.
Added plugin gstbytestream with 0 features.
Added plugin riff with 0 features.
Added plugin matroska with 2 features.
Added plugin avi with 2 features.
Rebuilding user_registry (C:\Documents and Settings\hekisa/.gstreamer-0.8/registry.xml) ...
Loaded 9 plugins with 20 features.

C:\gstreamer\bin>

(5) gst-inspect

gstspider: spider: Spider
gstspider: spideridentity: SpiderIdentity
gstoptscheduler: opt: An optimal scheduler using no cothreads
gstelements: aggregator: Aggregator pipe fitting
gstelements: fakesrc: Fake Source
gstelements: fakesink: Fake Sink
gstelements: fdsink: Filedescriptor Sink
gstelements: fdsrc: Disk Source
gstelements: filesrc: File Source
gstelements: filesink: File Sink
gstelements: identity: Identity
gstelements: md5sink: MD5 Sink
gstelements: shaper: Shaper
gstelements: statistics: Statistics
gstelements: tee: Tee pipe fitting
gstelements: typefind: TypeFind
matroska: matroskademux: Matroska demuxer
matroska: matroskamux: Matroska muxer
avi: avidemux: Avi demuxer
avi: avimux: Avi multiplexer
gstcoreelements: queue: Queue
gstcoreelements: thread: Threaded container
gstcoreelements: pipeline: Pipeline object
gstcoreelements: bin: Generic bin

(6) C:\gstreamer\bin>gst-launch filesrc location="Opening theme -full.mp3" ! matroskamux ! filesink location="test.mka"
->results in this popup

and the following output to console:

Starting parse
Entering state 0
Reading a token: Next token is token IDENTIFIER ()
Shifting token IDENTIFIER, Entering state 2
Reducing stack by rule 1 (line 503), IDENTIFIER -> element
Stack now 0
[..]
Stack now 0 14
Entering state 28
Next token is token IDENTIFIER ()
Shifting token IDENTIFIER, Entering state 2
Reducing stack by rule 1 (line 503), IDENTIFIER -> element

** (process:2268): CRITICAL **: how to remove plugins?

** (process:2268): CRITICAL **: Factory for `matroskamux' has no type. This probably means the plugin wasn't found because the registry is broken. The plugin GStreamer was looking for is named 'matroska' and is expected in file 'c:\gstreamer/plugins/gstmatroska.dll'. The registry for this plugin is located at 'c:\gstreamer/registry.xml'
Error: popping token IDENTIFIER ()
Stack now 0 14 28
Error: popping nterm link ()
Stack now 0 14
Shifting error token, Entering state 27
Reducing stack by rule 31 (line 639), chain error -> chain
Stack now 0
Entering state 14
Reading a token: Next token is token LINK ()
[etc]
Now at end of input.
WARNING: erroneous pipeline: no element "matroskamux"
Trying to run anyway.
RUNNING pipeline ...
Execution ended after 1028 iterations (sum 921000000 ns, average 895914 ns, min
0 ns, max 50000000 ns).

C:\gstreamer\bin>

the resulting mka plays perfect (without stuttering) in TCMP but foobar2k says its a invalid matroska.
MKInfo says it has no level 0 node and matroska properties do not show up (both are older versions but see below)
TCMP console:
> File will be opened now !
..
> Core: Adding MPEG Layer-3 Decoder
> Core: RenderFile()...
...
> We should be playing now.
> Everything seems to be ok, birds are singing...
> Matroska CDL: A Matroska file is starting playback
> Matroska CDL: Searching tracks for a video track
> <===== Leaving LoadMediaFile. 1

BUT if i rename the file to .mp3
winamp plays the file and has correct file info. my winamp doesnt know about matroska..
AND foobar also plays and recognises this file with .mp3 extension
which leads me to the conclusion the ouptput is NOT matroska but a normal mp3 with btw is on the byte the same size as the input mp3.

(7) C:\gstreamer\bin>gst-launch filesrc location="Shonen Knife - Konnichiwa.mka" ! matroskademux ! filesink location="test2.mp3"
->The same popup and it also does something.
The resulting file this time seems to be a valid MKA (not mp3) with the same size as the input.

Conclusion at the moment these two operations are simply coping the file 1:1

(8) adding the plugins folder to windows PATH

(9) same input as (6) (attempt mp3 to mka muxing)
console:
** (process:3988): CRITICAL **: unimplemented vararg field type 38282751
[above is repeated a dozen of times]

Stack now 0 14 28
Entering state 8
Reading a token: Next token is token LINK ()
Reducing stack by rule 27 (line 570), element -> chain
[..etc, nothing that looks like warning or error..]
Entering state 15
Now at end of input.
RUNNING pipeline ...
Execution ended after 1027 iterations (sum 1753000000 ns, average 1706913 ns, mi
n 0 ns, max 40000000 ns).

the resulting file is now slighly larger and seems to be a valid matroska. It doesnt play in foorbar (no decodable streams found).
TCMP plays it choppy after a very long load time. TCMP console:
> Opening C:\gstreamer\bin\test.mka
> Matroska CDL: Found Matroska File
..
> Bitrate: 0 KB/s
> Extension: MKA
> Codec:
> EncodingStyle:
> Comment:
> Extended:
> [Error] : Identifier expected
> Checking header...
> Prepare to summon filters...
..
> File will be opened now !
..
> Core: Adding MPEG Layer-3 Decoder
> Core: RenderFile()...
> Core: RenderFile() rendering time: 501ms
> The operation completed successfully.
..
> We should be playing now.
> Everything seems to be ok, birds are singing...
> Matroska CDL: A Matroska file is starting playback
> Matroska CDL: Searching tracks for a video track
> Matroska CDL: Found a video track
> <===== Leaving LoadMediaFile. 1

and finally MKVinfo thinks

(MKVInfo) + EBML head at 0
(MKVInfo) + Segment at 32
(MKVInfo) |+ Seek head at 44
(MKVInfo) | + Seek entry at 56
(MKVInfo) | + Seek ID: 0x15 0x49 0xa9 0x66 (KaxInfo) at 66
(MKVInfo) | + Seek position: 96 at 73
(MKVInfo) | + Seek entry at 84
(MKVInfo) | + Seek ID: 0x16 0x54 0xae 0x6b (KaxTracks) at 94
(MKVInfo) | + Seek position: 139 at 101
(MKVInfo) | + EbmlVoid (size: 26) at 112
(MKVInfo) |+ Segment information at 140
(MKVInfo) | + Timecode scale: 1000000 at 152
(MKVInfo) | + Duration: 0.000s at 159
(MKVInfo) | + Muxing application: GStreamer at 170
(MKVInfo) |+ Segment tracks at 183
(MKVInfo) | + A track at 195
(MKVInfo) | + Track number: 1 at 204
(MKVInfo) | + Track type: video at 207
(MKVInfo) | + Default duration: 9223372036854.775ms (0.000 fps for a video track) at 210
(MKVInfo) | + Video track at 222
(MKVInfo) | + Pixel width: 16 at 231
(MKVInfo) | + Pixel height: 16 at 234
(MKVInfo) | + Codec ID: V_MPEG1 at 237
(MKVInfo) | + Name: Video at 247
(MKVInfo) |+ Cluster at 256

(10) same input as (7) (attempt matroska demux)

output: again fist a couple of the vararg critical warnings, then a normal start

Stack now 0 14 28
Entering state 8
Reading a token: Next token is token LINK ()
Reducing stack by rule 27 (line 570), element -> chain
[..]
Stack now 0
Entering state 15
Now at end of input.
RUNNING pipeline ...
ERROR: from element /pipeline0/matroskademux0: Could not demultiplex stream.
Additional debug info:
d:\perso\programmes\gstreamer\gst-plugins\gst\matroska\ebml-read.c(184): ???: /p
ipeline0/matroskademux0:
Invalid EBML ID size tag (0x0) at position 4135 (0x0)
Execution ended after 1 iterations (sum 0 ns, average 0 ns, min 0 ns, max 0 ns).

Now this doesn't work, and no ouptput file is generated.
This is probably normal, i.e it would also not yet work if i had the real libintl-2.dll and my paths and everything were set up as on the developers computers.

------------------------
Summary: for tests, further than what is said in the readme, add the plugins directory to your windows PATH.
And the libintl-2.dll is required but missing in the package. This can be patched in a dirty way by a dummy (mine was a copy of the intl.dll). It seems to work somehow.
Developers should please check if libintl-2.dll is actually required. If yes please include it in a future package. If not, find the place that erronuously wants to load it and remove that useless statement.

[edit]forgot the images..
__________________
-nyo

Last edited by unmei; 26th July 2004 at 18:31.
unmei is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 12:42.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.