Log in

View Full Version : Some tools for Ogg Media files


Pages : 1 2 [3] 4 5

Emp3r0r
23rd September 2002, 17:28
-> OT: Did you ever have a DVD-Rom stepping back to PIO-mode suddenly and refusing to be switched back to DMA (MB-BIOS set to DMA of course)?? I've have this problem but I got a new DVD drive today. I'm hoping to see up to 7X like I saw on this XEON machine with a SCSI hard drive, but I doubt it.

BACK ON TOPIC: Can you add an option to verify that ogmuxer can use an input file. "ogmuxer -v test.ac3" returns true if it is a valid file ogmuxer can handle, thanks

Suiryc
23rd September 2002, 18:06
No problem, will do that :)
Wait for the next version (will come with a merger that already works ... at least I could merge what I split with OGMCutter ;)).

AmiRage
23rd September 2002, 23:58
I just tried OGMuxer 0.9a4, but strangely it failed to identify the AVI containing an XviD video stream (no audio) created with VirtualDub. So I used OggMux 0.9.2 to mux this XviD video stream, two OGG audio streams, two subtitles and the chapters into one 1.4 GB great OGM file.

Then I used OGMCutter 0.9a4 to cut this one into two parts (option -c 3). OGMCutter told me about a last, third part of about 4 MB, ...

Cut point @ Packet 101107 ( 697.95MB) : part size = 697.95MB
Cut point @ Packet 201340 (1395.67MB) : part size = 697.72MB
Last part size = 4.03MB

... but the last (small) part was never created?! Intended?

Then I used a slightly higher value for the MBs:

Cut point @ Packet 101486 ( 699.82MB) : part size = 699.82MB
Last part size = 699.88MB

Result: A perfectly cut OGM, which so far seems to work perfect. Sync audio and subtitles. But I'll have a closer look at it comparing the big and the smaller files. (Update: One chapter is too late after splitting.)

Now I wanted to cut down the second part into pieces of about 15 MB to get a sample of the movie including audio tracks, subtitles and chapters, but OGMCutter failed. The processing and parts calculating works, but after creating one or two of the parts OGMCutter only eats all CPU time but never finishes further parts?! (Update: When using 50 MB as split size it stops after 5 parts ... using 75 MB it at least worked. Strange!)

Any idea?

Thanks in advance. ... and thanks for the tools!

Update: After several steps of further down-cutting the subtitles seem to be me missing in one of the parts although they're still shown in the menu. And again one of the last parts wasn't created.

bb
24th September 2002, 07:02
Originally posted by Emp3r0r
I've have this problem but I got a new DVD drive today. I'm hoping to see up to 7X like I saw on this XEON machine with a SCSI hard drive, but I doubt it.
My DVD drive always fell back to PIO mode, but after I switched the master/slave status of my DVD ROM and my CD burner, I got both back to DMA modes.

BTW: the 7x speed has nothing to do with your HDD speed.

bb

Bluedan
24th September 2002, 12:07
@Suiryc
Still waiting for my CD 'test files' to return....

@BB
Which order precisely? DVD ->slave + burner ->master ?
The other way round it's mostly advised though I don't know the reason for it's obviously more important that both devices can achieve the same speed class/ same transfer protocol (PIO or DMA). Nevertheless Windows XP dares indicating different protocols for devices on the same IDE channel, which shouldn't be possible AFAIK....

bb
24th September 2002, 14:57
@Bluedan:
DVD ROM Slave, CD-RW burner Master: didn't work
DVD ROM Master, CD-RW burner Slave: worked

bb

Suiryc
24th September 2002, 17:47
Originally posted by AmiRage
I just tried OGMuxer 0.9a4, but strangely it failed to identify the AVI containing an XviD video stream (no audio) created with VirtualDub. So I used OggMux 0.9.2 to mux this XviD video stream, two OGG audio streams, two subtitles and the chapters into one 1.4 GB great OGM file.
Is there an error giving some precisions about where and why it failed ? (or did it only said this wasn't a known type ?)

... but the last (small) part was never created?! Intended?
No the last part should also be here :/
Will do some tests.

Update: One chapter is too late after splitting.
What was the original time of this chapter, and what is the delay after cutting ? (was this chapter near the end or the beginnig of the part ?)

Now I wanted to cut down the second part into pieces of about 15 MB ...
Will do some tests too :)

Update: After several steps of further down-cutting the subtitles seem to be me missing in one of the parts although they're still shown in the menu. And again one of the last parts wasn't created.
Well it seems that "some" bugs remain in this cutter :p

AmiRage
24th September 2002, 19:55
Originally posted by Suiryc
Is there an error giving some precisions about where and why it failed ? (or did it only said this wasn't a known type ?)

Error in AVIReader::init_streams (AVIReader.cpp) @ 128 : Unknown information format in AVI source file D:\...
Error in AVIReader::init_streams (AVIReader.cpp) @ 129 : Process aborted due to previous error

Originally posted by Suiryc
What was the original time of this chapter, and what is the delay after cutting ? (was this chapter near the end or the beginnig of the part ?)

Original chapters (total time 02:14:46):

CHAPTER01=00:00:00.000
CHAPTER01NAME=Chapter 1
CHAPTER02=00:01:15.200
CHAPTER02NAME=Chapter 2
CHAPTER03=00:11:17.040
CHAPTER03NAME=Chapter 3
CHAPTER04=00:14:52.080
CHAPTER04NAME=Chapter 4
CHAPTER05=00:27:12.440
CHAPTER05NAME=Chapter 5
CHAPTER06=00:36:29.920
CHAPTER06NAME=Chapter 6
CHAPTER07=00:47:47.520
CHAPTER07NAME=Chapter 7
CHAPTER08=00:59:24.560
CHAPTER08NAME=Chapter 8
CHAPTER09=01:17:24.240
CHAPTER09NAME=Chapter 9
CHAPTER10=01:28:26.560
CHAPTER10NAME=Chapter 10
CHAPTER11=01:40:02.240
CHAPTER11NAME=Chapter 11
CHAPTER12=01:51:16.120
CHAPTER12NAME=Chapter 12
CHAPTER13=02:02:07.240
CHAPTER13NAME=Chapter 13
CHAPTER14=02:12:07.200
CHAPTER14NAME=Chapter 14
CHAPTER15=02:13:13.520
CHAPTER15NAME=Chapter 15

Chapters after cutting (WMP 6.4 timing -> estimation only):

Part 1 (total time 01:07:39):

CHAPTER01=00:00:00.000 -> OK
CHAPTER01NAME=Chapter 1
CHAPTER02=00:01:15.200 -> OK
CHAPTER02NAME=Chapter 2
CHAPTER03=00:11:17.040 -> OK
CHAPTER03NAME=Chapter 3
CHAPTER04=00:14:52.080 -> OK
CHAPTER04NAME=Chapter 4
CHAPTER05=00:27:12.440 -> OK
CHAPTER05NAME=Chapter 5
CHAPTER06=00:36:29.920 -> OK
CHAPTER06NAME=Chapter 6
CHAPTER07=00:47:47.520 -> OK
CHAPTER07NAME=Chapter 7
CHAPTER08=00:59:24.560 -> OK
CHAPTER08NAME=Chapter 8

=> conclusion: although real entries not always identical to chapter file the result is the same comparing the complete ogm file and the first part of the cut one ... menu chapter info is identical.

Part 2 (total time 01:07:06):

CHAPTER09=01:17:24.240
-> OggMux-ed original entry at 01:17:33
-> OGMCutter entry at 00:09:45 (menu -> chapter info 00:09:44.880)
-> about 8 seconds before the original
CHAPTER09NAME=Chapter 9
CHAPTER10=01:28:26.560
-> OggMux-ed original entry at 01:28:26
-> OGMCutter entry at 00:20:59 (menu -> chapter info 00:20:47.200)
-> about 12 seconds behind the original
CHAPTER10NAME=Chapter 10
CHAPTER11=01:40:02.240
-> OggMux-ed original entry at 01:40:04
-> OGMCutter entry at 00:32:25 (menu -> chapter info 00:32:22.880)
-> OK
CHAPTER11NAME=Chapter 11
CHAPTER12=01:51:16.120
-> OggMux-ed original entry at 01:51:28
-> OGMCutter entry at 00:43:36 (menu -> chapter info 00:43:36.760)
-> about 10 seconds before the original
CHAPTER12NAME=Chapter 12
CHAPTER13=02:02:07.240
-> OggMux-ed original entry at 02:02:12
-> OGMCutter entry at 00:54:32 (menu -> chapter info 00:54:27.880)
-> OK
CHAPTER13NAME=Chapter 13
CHAPTER14=02:12:07.200
-> OggMux-ed original entry at 02:12:07
-> OGMCutter entry at 01:04:27 (menu -> chapter info 01:04:27.840)
-> OK
CHAPTER14NAME=Chapter 14
CHAPTER15=02:13:13.520
-> OggMux-ed original entry at 02:13:25
-> OGMCutter entry at 01:05:46 (menu -> chapter info 01:05:34.160)
-> OK
CHAPTER15NAME=Chapter 15

Now I'm really confused. The timing calculations seem to be ok, but why am I getting this large differences in entry??

Update: Hmmm ... I believe there's a problem with OggMux 0.9.2?!?! ... not with OGMCutter. It seems that OGMCutter even corrects the errors.

Update 2: I'm still totally confused.

Manao
25th September 2002, 12:20
Strange bug :

I only use ogmcutter, since I mux audio, video, subtitles and chapters with oggmux.

It works flawlessly, except for one encode ( 1 video stream ( Xvid ), 2 audio stream ( ogg vorbis, different quality settings ), 2 subtitles, and chapters ). This one is cut, but not at the same point for video and audio. I used ogminfo on the resulting first part, it returned different duration for the different streams : 4 minute miss on the video stream, audio ( vorbis streams ) duration are almost the same, subtitles a little shorter ( but I think it's normal, since there is no subtitles at the moment of cutting ). The second part is alright ( at least it seems ).

I tried to change the cutting frame, the same problem occured.

My system : Win XP, oggdsf 0.9.9.3, oggsubtitle dsf 1.3.3.0
Command line : ogmcutter -c 7 -s 717000K -n 2 "video.ogm"

If you want more details, I still have the files, so ask and I will attach any further information needed.


Otherwise, ogmcutter is great and _really_ helpfull.

Suiryc
25th September 2002, 16:48
Originally posted by AmiRage
Error in AVIReader::init_streams (AVIReader.cpp) @ 128 : Unknown information format in AVI source file D:\...
Hmm, this error means that information about the video stream are not in a BITMAPINFOHEADER structure :/. Do you used special options for making the video (in VirtualDub or in XviD) ?

Original chapters (total time 02:14:46):
CHAPTER01=00:00:00.000
CHAPTER01NAME=Chapter 1
CHAPTER02=00:01:15.200
CHAPTER02NAME=Chapter 2
...
CHAPTER09=01:17:24.240
CHAPTER09NAME=Chapter 9
CHAPTER10=01:28:26.560
CHAPTER10NAME=Chapter 10
...

Chapters after cutting (WMP 6.4 timing -> estimation only):
Part 1 (total time 01:07:39):
...
Part 2 (total time 01:07:06):
CHAPTER09=01:17:24.240
-> OggMux-ed original entry at 01:17:33
-> OGMCutter entry at 00:09:45 (menu -> chapter info 00:09:44.880)
-> about 8 seconds before the original
CHAPTER09NAME=Chapter 9
CHAPTER10=01:28:26.560
-> OggMux-ed original entry at 01:28:26
-> OGMCutter entry at 00:20:59 (menu -> chapter info 00:20:47.200)
-> about 12 seconds behind the original
CHAPTER10NAME=Chapter 10

OK if those times are OK, this mean :
Chapter 09 @ 00:09:45 in second part, first part = 01:07:39 => Chapter 09 should be @ 01:17:24 in the original file (01:17:24.240 in reality : OK).
Chapter 10 @ 00:20:59 in second part, first part = 01:07:39 => Chapter 10 should have been @ 01:28:38 in the original file (01:28:26.560 in reality : 12s delay).
But I wonder : you say entry @ 00:20:59 and menu -> chapter info = 00:20:47.200 :confused:. If the menu->chapter info is what you have in your player then why OGMCutter entry @ 00:20:59 ? (maybe you wrote too fast), because with 00:20:47 then Chapter 10 should have been @ 01:28:26 (01:28:26.560 in reality : OK) ...

Update 2: I'm still totally confused.
Me too :p
Where do you took the first times (for all chapters) ? From the txt file, from OGMInfo or from OggMux ?


BTW I wasn't able to reproduct any of your bugs (nor the last part not written, nor the process not finishing while cutting in small pieces, nor the subtitles missing in some parts, nor the problem with chapters).
I tried on a 250MB and a 495MB file, cutting in 100*3MB, 50*10MB and 245MB+245MB+5MB. Well maybe I changed something (but I don't remember doing so) that could have solved such problems in the version I have :confused:
Are those problems specific to you or are there other persons experiencing such things ?

Just a question (maybe this is not related at all, but who knows) : what version of the vorbis dlls (if you installed those yourself) or OggDS (that install the previous dlls) were you using ?

PS : for the subtitles there is only one thing I didn't tested at the moment, this is what happens if my cutting point correspond exactly to the end or the beginning of a subtitle ... (well now that I think about it, in theory if this correspond exactly to the beginning of a subtitle, then this subtitle will surely be "skipped" by the Subtitler Mixer - seems that if a subtitle starts @ 0 in the file it is not shown, or at least not each time you play the file - ).

@Manao
Normally the text stream is cut so that it lasts as long as the video stream. But maybe OGMInfo showed wrong durations ...
You say that according to OGMInfo the video lasts 4 minutes less than the other streams (BTW for the text stream you wanted to say "a little shorter than the audio streams" or "than the video stream"?). Is this true when playing in your favorite player ? (i.e. does the last 4 minutes of video in the first part really lacks ?)
Could you do the same I asked to Bluedan ? (make logfiles and keep first and last 1000 lines of each file, plus the 2000 lines around where it was cut in the logfile of the original file)
If Zipped files are not too big (6MB) you can send here : suiryc AT yahoo DOT com.
Thanks :)

Manao
25th September 2002, 18:26
For the subtitle streams, they are a little shorter than the vorbis streams. The video won't play video further than the end of the video stream announced by OGMInfo, but I can still hear the sound track and view the subtitles.

For the second part, I was wrong, it doesn't play right. Seems that the video is in the second part, which makes a 4 minutes delay for the audio. Of course, at the end of the second part, I hear nothing. The 'good' news is that the subtitles are still in synch with the audio in the second part.

I will mail you the log, as soon as I succeed in cutting the requested parts ( 200 Mo, it takes a long time to edit )

AmiRage
26th September 2002, 09:43
Originally posted by Suiryc
Hmm, this error means that information about the video stream are not in a BITMAPINFOHEADER structure :/. Do you used special options for making the video (in VirtualDub or in XviD) ?I didn't set anything special. Not that I know.

OK if those times are OK, this mean :
Chapter 09 @ 00:09:45 in second part, first part = 01:07:39 => Chapter 09 should be @ 01:17:24 in the original file (01:17:24.240 in reality : OK).
Chapter 10 @ 00:20:59 in second part, first part = 01:07:39 => Chapter 10 should have been @ 01:28:38 in the original file (01:28:26.560 in reality : 12s delay).
But I wonder : you say entry @ 00:20:59 and menu -> chapter info = 00:20:47.200 :confused:. If the menu->chapter info is what you have in your player then why OGMCutter entry @ 00:20:59 ? (maybe you wrote too fast), because with 00:20:47 then Chapter 10 should have been @ 01:28:26 (01:28:26.560 in reality : OK) ...
00:20:59 is the time Windows Media Player 6.4 jumps in. Although in the menu a chapter entry of 00:20:47.200 is shown.
Where do you took the first times (for all chapters) ? From the txt file, from OGMInfo or from OggMux ?
Everything behind CHAPTER is from the original chapter-file used while muxing.

"OggMux-ed original entry at ..." is the time WMP (or ZoomPlayer or BSPlayer) jumps in the original uncut OggMux-ed OGM file when actually choosing this chapter in the player.

"OGMCutter entry at ..." is the time WMP (or ZoomPlayer or BSPlayer) jumps in the OGMCutter-cut second part of the file when actually choosing this chapter in the player.

"menu -> chapter info" is the info shown in the chapter menu of the player.

Just a question (maybe this is not related at all, but who knows) : what version of the vorbis dlls (if you installed those yourself) or OggDS (that install the previous dlls) were you using ?
I'm using OggDSF 0.9.9.3 and SubTitDS 1.3.0.0.

Suiryc
26th September 2002, 13:37
Originally posted by AmiRage
00:20:59 is the time Windows Media Player 6.4 jumps in. Although in the menu a chapter entry of 00:20:47.200 is shown.
Ah ah, maybe I found the problem here. OGMCutter set the chapter @ 00:20:47.200 (which is correct), but your player jumped to 00:20:59.
If you have the "seek on keyframe" checked in OggDS, this should mean the first keyframe after time 00:20:47.200 (time of the chapter) is at 00:20:59.
Now what I don't understand is why the behavior is not allways the same :
- for chapter 9, in the original file you arrive 8 seconds later, with OGMCutter you arrive at the good time
- for chapter 10, in the original file you arrive at the good time, but in OGMCutter you arrive 12 seconds later

The fact the player behave differently between the two files could mean (unless this is due to OggDS) that when cutting OGMCutter delayed the chapter times by a few frames (normally 1 should be the max, even if I think that 0 should be the reality ;) ).
For chapter 10 OGMCutter could have delayed this time so that it arrives a few frames after the real time (so if you have a keyframe just at this point in the original file, your jump is good, but this is not anymore the case with the cut part because then the chapter is set after this keyframe).
But for chapter 9 it seems to be the contrary :confused:

AmiRage
26th September 2002, 14:12
I think you're right with the keyframes.

These are the keyframes in the original AVI/XviD stream between chapter 9 and 10:

(1:28:14.560)
(1:28:26.560)
(1:28:38.560)
(1:28:46.320)

CHAPTER10=01:28:26.560

... so the chapter entry in the original OGM file is identical to the keyframe, but after cutting the next keyframe is used.

Don't know about the other differences so far, but will take a closer look at it.

Suiryc
26th September 2002, 14:26
Originally posted by AmiRage
I think you're right with the keyframes.

These are the keyframes in the original AVI/XviD stream between chapter 9 and 10:

(1:28:14.560)
(1:28:26.560)
(1:28:38.560)
(1:28:46.320)

CHAPTER10=01:28:26.560

... so the chapter entry in the original OGM file is identical to the keyframe, but after cutting the next keyframe is used.

Don't know about the other differences so far, but will take a closer look at it.
Oh yeah I forgot : to know more about your ogm files (where are the keyframes) you can use my modified version of VirtualDub.
So you can verify keyframes are at the same place in your original OGM file, and where they are in your cut files :)

Suiryc
26th September 2002, 15:11
Alright I maybe found what was the problem for Manao.
Anyway I found a bug in my sources (a damn integer variable that should have been floating-point one !!! stupid me :(), causing problems with times (delays in the cut parts other than the first one) if your video framerate is not an integer one (i.e. 25fps ... if your video is 23.976 or 29.... or anything that is not integer, like for Manao you must have experienced big troubles - few seconds up to several minutes of delay between video and other streams - with OGMCutter).

Maybe it is your case AmiRage.

Site updated

Thanks for your help :)

AmiRage
26th September 2002, 17:33
OGMCutter 0.9a5 still works well respectively the same way as the version before when cutting my 25fps OGM file. ;)

I just downloaded your OGM-VD version and will have a closer look at the keyframes.

Suiryc
26th September 2002, 18:12
@AmiRage
I finally found what was causing the last parts not being created.
Correcting that.

Also it seems that chapters are somehow delayed by 1 frame (searching what cause that and why).

My error, in my tests chapters are not delayed ...

Suiryc
26th September 2002, 23:43
I updated versions on the site.

Fixed some bugs and added some features (test file in the muxer, ...) in all tools (except the demuxer).

I put the merger I made. It should be able to merge streams you cut with OGMCutter.

I also updated the VirtualDub version. It should now be able to write (_only_) the video stream (coming from any kind of input file) into an OGM file. At least all options in VirtualDub are avaible on this video stream (compression, filters, subsets, framerate change, ...).

Enjoy :)

Nightweaver
27th September 2002, 00:54
Originally posted by Suiryc
Alright now you will find my tools here : http://cyrius.bunkus.org.

This site is up thanks to Mosu (Moritz Bunkus), so we should all thank him at least twice : first for developing ogmtools (on which I based my tools) and then for being kind enough to host my little tools :)

Thanks again Mosu :D

Regards.

Just a wee request ... can you possibly add that link to your sig suiryc? It'd make it a little easier to find for the lazy people like me ;)

Emp3r0r
27th September 2002, 02:38
bump, I second that

Also, how similar are the theora streams and ogm streams? Specifically, do the containers follow the same standards? (please excuse my ignorance)

(one more thing :D) Can you make ogmtools commandline work like "ogmuxer C:\matrix.omx" so that I can drag and drop a file on the exe? (sorry, I know I'm lazy ;) )

thanks

Suiryc
27th September 2002, 13:05
Originally posted by Emp3r0r
Also, how simular are the theora streams and ogm streams? Specifically, do the containers follow the same standards? (please excuse my ignorance)
As far as I could see theora presently rely on Xiph's Ogg specifications (as OGM does). Only headers changed (to simplify : it's like a new Vorbis stream).
(one more thing :D) Can you make ogmtools commandline work like "ogmuxer C:\matrix.omx" so that I can drag and drop a file on the exe? (sorry, I know I'm lazy ;) )

thanks
I don't know, I'm lazy too ;)

Originally posted by Nightweaver
Just a wee request ... can you possibly add that link to your sig suiryc? It'd make it a little easier to find for the lazy people like me ;)
It's now in my sig for you lazy people over there ;)
But you know there is also that little thing (like a button, with kind of home drawn on it) called "www" below all my posts ;)

AmiRage
28th September 2002, 09:56
So, here we go ... still a 25.000 fps video stream:

(1) VirtualDub 1.4.10 - XviD-video-only-AVI (202150 frames - 2:14:46.000)
(2) OGGMux 0.9.2 - complete OGM (202150 frames - 2:14:46.000)
(3) OGMCutter 0.9a5 - cut of the complete OGM (101484 frames - 1:07:39.360 and 100666 frames - 1:07:06.640)

Corresponding keyframes always in one line.

Keyframes at chapter change:
(1)/(2)/(3)

CHAPTER01=00:00:00.000
0:00:00.000/0:00:00.000/0:00:00.000

CHAPTER02=00:01:15.200
0:01:13.520/0:01:13.520/0:01:13.520
0:01:15.200/0:01:15.200/0:01:15.200
0:01:17.960/0:01:17.960/0:01:17.960
-> player jump in at (2) 0:01:17.960/(3) 0:01:17.960

CHAPTER03=00:11:17.040
0:11:09.480/0:11:09.480/0:11:09.480
0:11:17.200/0:11:17.200/0:11:17.200
0:11:17.240/0:11:17.240/0:11:17.240
0:11:17.280/0:11:17.280/0:11:17.280
-> player jump in at (2) 0:11:17.200/(3) 0:11:17.200

CHAPTER04=00:14:52.080
0:14:49.640/0:14:49.640/0:14:49.640
0:14:52.120/0:14:52.120/0:14:52.120
0:14:56.640/0:14:56.640/0:14:56.640
-> player jump in at (2) 0:14:52.120/(3) 0:14:52.120

CHAPTER05=00:27:12.440
0:27:04.440/0:27:04.440/0:27:04.440
0:27:16.440/0:27:16.440/0:27:16.440
0:27:28.440/0:27:28.440/0:27:28.440
-> player jump in at (2) 0:27:16.440/(3) 0:27:16.440

CHAPTER06=00:36:29.920
0:36:21.520/0:36:21.520/0:36:21.520
0:36:33.520/0:36:33.520/0:36:33.520
0:36:40.480/0:36:40.480/0:36:40.480
-> player jump in at (2) 0:36:33.520/(3) 0:36:33.520

CHAPTER07=00:47:47.520
0:47:35.560/0:47:35.560/0:47:35.560
0:47:47.560/0:47:47.560/0:47:47.560
0:47:54.080/0:47:54.080/0:47:54.080
-> player jump in at (2) 0:47:47.560/(3) 0:47:47.560

CHAPTER08=00:59:24.560
0:59:24.560/0:59:24.560/0:59:24.560
0:59:27.840/0:59:27.840/0:59:27.840
0:59:39.840/0:59:39.840/0:59:39.840
-> player jump in at (2) 0:59:27.840/(3) 0:59:27.840

CHAPTER09=01:17:24.240 - (3) 00:09:44.880
1:17:20.560/1:17:20.560/0:09:41.200
1:17:24.240/1:17:24.240/0:09:44.880 (!!!)
1:17:33.040/1:17:33.040/0:09:53.680 (!!!)
1:17:45.040/1:17:45.040/0:10:05.680
-> player jump in at (2) 1:17:33.040/(3) 0:09:44.880

CHAPTER10=01:28:26.560 - (3) 00:20:47.200
1:28:14.560/1:28:14.560/0:20:35.200
1:28:26.560/1:28:26.560/0:20:47.200 (!!!)
1:28:38.560/1:28:38.560/0:20:59.200 (!!!)
1:28:46.320/1:28:46.320/0:21:06.960
-> player jump in at (2) 1:28:26.560/(3) 0:20:59.200

CHAPTER11=01:40:02.240 - (3) 00:32:22.880
1:40:02.240/1:40:02.240/0:32:22.880
1:40:04.880/1:40:04.880/0:32:25.520
1:40:07.720/1:40:07.720/0:32:28.360
-> player jump in at (2) 1:40:04.880/(3) 0:32:25.520

CHAPTER12=01:51:16.120 - (3) 00:43:36.760
1:51:09.240/1:51:09.240/0:43:29.880
1:51:16.120/1:51:16.120/0:43:36.760 (!!!)
1:51:28.120/1:51:28.120/0:43:48.760 (!!!)
1:51:34.480/1:51:34.480/0:43:55.120
-> player jump in at (2) 1:51:28.120/(3) 0:43:36.760

CHAPTER13=02:02:07.240 - (3) 00:54:27.880
2:02:07.240/2:02:07.240/0:54:27.880
2:02:12.000/2:02:12.000/0:54:32.640
2:02:14.080/2:02:14.080/0:54:34.720
-> player jump in at (2) 2:02:12.000/(3) 0:54:32.640

CHAPTER14=02:12:07.200 - (3) 01:04:27.880
2:12:04.800/2:12:04.800/1:04:25.440
2:12:07.200/2:12:07.200/1:04:27.840
2:12:07.320/2:12:07.320/1:04:27.960
2:12:07.360/2:12:07.360/1:04:28.000
-> player jump in at (2) 2:12:07.200/(3) 1:04:27.840

CHAPTER15=02:13:13.520 - (3) 01:05:34.160
2:13:13.520/2:13:13.520/1:05:34.160
2:13:25.520/2:13:25.520/1:05:46.160
2:13:37.520/2:13:37.520/1:05:58.160
-> player jump in at (2) 2:13:25.520/(3) 1:05:46.160


So the problem seems to be the chapter change on a keyframe.

Suiryc
28th September 2002, 10:36
Originally posted by AmiRage
So, here we go ... still a 25.000 fps video stream:

(1) VirtualDub 1.4.10 - XviD-video-only-AVI (202150 frames - 2:14:46.000)
(2) OGGMux 0.9.2 - complete OGM (202150 frames - 2:14:46.000)
(3) OGMCutter 0.9a5 - cut of the complete OGM (101484 frames - 1:07:39.360 and 100666 frames - 1:07:06.640)

...

CHAPTER09=01:17:24.240 - (3) 00:09:44.880
1:17:20.560/1:17:20.560/0:09:41.200
1:17:24.240/1:17:24.240/0:09:44.880 (!!!)
1:17:33.040/1:17:33.040/0:09:53.680 (!!!)
1:17:45.040/1:17:45.040/0:10:05.680
-> player jump in at (2) 1:17:33.040/(3) 0:09:44.880
So in the original clip, there was a keyframe at the same time than the chapter. In the cut part it's still the case (at least my cutter work as I expected here :)).
But : with the original clip the player jumped to the next keyframe while with my cut part it jumped on the "correct" keyframe.

CHAPTER10=01:28:26.560 - (3) 00:20:47.200
1:28:14.560/1:28:14.560/0:20:35.200
1:28:26.560/1:28:26.560/0:20:47.200 (!!!)
1:28:38.560/1:28:38.560/0:20:59.200 (!!!)
1:28:46.320/1:28:46.320/0:21:06.960
-> player jump in at (2) 1:28:26.560/(3) 0:20:59.200
Here it is the same with keyframe on chapter.
But now it is the contrary : with the original clip the player jumped on the "correct" keyframe, while with my cut part it jumped to the next one.

So seems either my tools report weird positions (sometimes before the real one, sometimes after the real one) or it is related to OggDS (when seeking on keyframes), or both :/

AmiRage
28th September 2002, 15:46
So seems either my tools report weird positions (sometimes before the real one, sometimes after the real one) or it is related to OggDS (when seeking on keyframes), or both :/
So currently the rule has to be: Never use a keyframe as chapter beginning. :D

I guess I'll slightly change the chapter entries.

BTW ... is it difficult to integrate a function to cut out certain pieces?

Suiryc
28th September 2002, 16:11
Originally posted by AmiRage
So currently the rule has to be: Never use a keyframe as chapter beginning. :D
Think so :)

BTW ... is it difficult to integrate a function to cut out certain pieces?
You mean cut from frame (or time) A to frame (or time) B ?
It should not be too difficult since I already parse the file a first time to know what I need about the video stream ...

AmiRage
28th September 2002, 21:03
Originally posted by Suiryc
You mean cut from frame (or time) A to frame (or time) B ?
Yes, that's what I meant! :)

So for example it's possible to directly cut out a small sample of a specific movie which features all that OGM has to offer: video/audio streams, subtitles, chapters ...

Please! Please! .... :D

Psyche
28th September 2002, 23:05
@Suyric:
Would you please be so kind as to incorporate in OGMInfo a calculation for actual bitrate of the streams? The formula would be this:

bytes_bodies 1
--------------- * sample_rate * 8 * ----- = bitrate (kbits/s)
no_of_samples 1000

You would make me very happy. :D

Thank you.

Suiryc
30th September 2002, 22:45
@AmiRage & Psyche
I updated OGMCutter (v1.0a1) and OGMInfo (v1.3b1).

For the cutter : you can now precise points (by frame number or time) where to cut in the clip (-f option).
Those points are used to define subsets (first subset is thrown, second subset is kept, third subset is thrown, ...).
You can still use the -n (maximum number of parts) and/or -s (split size) together with the new -f option, resulting in applying those options on each kept subset (to summarize : if you want to keep only certain parts of the clip, but still want to have parts smaller than a certain size, it's possible).
See the txt file that comes with OGMCutter for more information.

You can also "simulate" the cutting process (in this case OGMCutter will stop just after having printed where it would cut).

Enjoy :)

Nb : Hope I didn't broke anything with the cutter ;)

joerg
30th September 2002, 23:05
A possibility to specify the exact cut points in frames or seconds (like implemented in the latest version of OGMCutter) _without_ throwing away any parts would IMHO be a useful feature.

Psyche
30th September 2002, 23:09
Thanks!

Suiryc
30th September 2002, 23:21
Originally posted by joerg
A possibility to specify the exact cut points in frames or seconds (like implemented in the latest version of OGMCutter) _without_ throwing away any parts would IMHO be a useful feature.
Ah ah, it should be also possible :), with a little trick :)

To summarize :
you use -f "1000 2000 3000" to create 4 subsets :
1 for beginning to frame 1000 (thrown)
1 for frame 1000 to frame 2000 (kept)
1 for frame 2000 to frame 3000 (thrown)
1 for frame 3000 to the end (kept)

Now say you want to keep the whole clip but force split near those frames (1000, 2000 and 3000), then you should use -f "0 1000 1000 2000 2000 3000 3000", i.e. create 8 subsets :
1 for beginning to frame 0 (thrown)
1 for frame 0 to frame 1000 (kept)
1 for frame 1000 to frame 1000 (thrown)
1 for frame 1000 to frame 2000 (kept)
...

:)

Doing so (kind of "invalid" subsets since empty) will make OGMCutter modify the subsets by setting subsets boundaries on the first next keyframe.
So suppose in your clip the first keyframes next to frames 1000, 2000 and 3000 are frames 1075, 2000 and 3009, then the option above will make OGMCutter create 4 parts :
frame 0 -> frame 1075 (excluded)
frame 1075 -> frame 2000 (excluded)
frame 2000 -> frame 3009 (excluded)
frame 3009 -> end of clip

At least in theory ;)

joerg
30th September 2002, 23:54
Thanks for the info! Didn't think about that possibility before :)

Suiryc
2nd October 2002, 20:00
For those who are interested, I put v0.9a6 (still testing because I changed a lot of thing inside) of OGMuxer on the site.
What's new :

Version 0.9a6
- fixed what could have caused problems when using OGM (with more than 1 stream)
file as input
- added a lazy mode for Emp3r0r :p : you can precise the Setup file as unique option
thus allowing drag'n'drop of such Setup file
- (great) internal rework
- seems a little faster to process now :)
- added WAV format for input
- will now process all audio streams coming from an AVI file
- can "reprocess" audio streams coming from an AVI or WAV file (instead of just
writing the data as is, reprocess them regarding their type - valid for MP3 or
AC3 streams in AVI and WAV files)
Nb : This is of great help when the audio stream is a VBR one :) (on my test
reprocessing fixes a synchronisation problem I have when not using reprocessing)
See OGMuxer.txt for more information.

AmiRage
4th October 2002, 11:09
Thanks for the info and the new versions. Will give it a try at the weekend.

... and could you please add the version to your archive names on your homepage? I'm always confused wether or not the version I already have on my harddisk is an older or newer one. :D

Suiryc
4th October 2002, 12:03
Originally posted by AmiRage
... and could you please add the version to your archive names on your homepage? I'm always confused wether or not the version I already have on my harddisk is an older or newer one. :D
:confused: I am not sure to understand exactly what you want : You want me to put a list that enumerate old versions of my tools ? (there is no problem for that, but I thought the version number was enough ...)

BTW I am currently working on "merging" the muxer and the cutter :)
Well of course this means there will be at least three times more bugs : those coming from the muxer, those coming from the cutter, and those I (not on purpose :p) added when putting code from the cutter into the muxer :D

inoteb
4th October 2002, 12:31
I think AmiRage would like you add the version number to the name of the downloadable zip. For instance : OGMInfo_1.3b1.zip instead of OGMInfo.zip, as you've already done for latest OGMuxer (OGMuxer_0.9a6.zip)

Nice to merge muxer & cutter ! I'm eagerly waiting for a GUI... Is anybody working on that ? (I wish I could, but I'm incapable of it)

Suiryc
4th October 2002, 14:02
Originally posted by inoteb
I think AmiRage would like you add the version number to the name of the downloadable zip. For instance : OGMInfo_1.3b1.zip instead of OGMInfo.zip, as you've already done for latest OGMuxer (OGMuxer_0.9a6.zip)
I didn't added version number in file name because it was easier for me when zipping files (don't have to change the name) and updating the site (I know I'm lazy :D).
So I will change that :)

Nice to merge muxer & cutter ! I'm eagerly waiting for a GUI... Is anybody working on that ? (I wish I could, but I'm incapable of it)
At least not me for the moment :p
For the muxer I simplified a lot of things so that it can be easily merged into another C++ program (when I say merge I mean add source code, not only use the tool with commandline).
The next version will even be able to tell this program of its current progress (well it is not multithreaded nor a DLL, but it's better than nothing :)).

Emp3r0r
4th October 2002, 18:34
I can't figure out what my problem is with the following omx file<movie>
re.avi
</movie>

<title>
Resident Evil
</title>

<soundtracks>
re.ogg
English
</soundtracks>

<subtitles>
</subtitles>

<chapters>
re.txt
</chapters>

<target>
re.ogm
</target>

Suiryc
4th October 2002, 18:43
Unless an error tell you what is the problem, I think maybe your problem is : OGMuxer don't start anything and take 100% process ?
If yes I would bet it's because I don't see the<split>
</split>
section.
Even if OGMuxer doesn't handle splitting, it stays "compliant" with the omx format of Koepi :p

Emp3r0r
4th October 2002, 18:54
You are absolutely right! :D Anyway, after adding <split>
0
</split>the file works perfectly fine from the commandlind using either "ogmuxer re.omx" or "ogmuxer -s re.omx" BUT when I drag and drop the file it doesn't work. I fixed the problem by adding full paths and then drag and drop worked<movie>
C:\Documents and Settings\Administrator\My Documents\Video Processing\VOBs\re\re.avi
</movie>

<title>
Resident Evil
</title>

<soundtracks>
C:\Documents and Settings\Administrator\My Documents\Video Processing\VOBs\re\re.ogg
English
</soundtracks>

<subtitles>
</subtitles>

<chapters>
C:\Documents and Settings\Administrator\My Documents\Video Processing\VOBs\re\re.txt
</chapters>

<target>
C:\Documents and Settings\Administrator\My Documents\Video Processing\VOBs\re\re.ogm
</target>

<split>
0
</split>
Great Work Suiryc! and thanks for your help.

Suiryc
4th October 2002, 19:01
Originally posted by Emp3r0r
You are absolutely right! :D Anyway, after adding <split>
0
</split>the file works perfectly fine from the commandlind using either "ogmuxer re.omx" or "ogmuxer -s re.omx" BUT when I drag and drop the file it doesn't work. I fixed the problem by adding full paths and then drag and drop worked
Well normal since OGMuxer works in the current path (so its own path if you drag'n'drop). :p
C:\Documents and Settings\Administrator\My Documents\Video Processing\VOBs\re\re.avi
Hum, nobody told you it was bad to use the Administrator account for common usage ;)
(Nb : I do the same too :p)

Emp3r0r
4th October 2002, 19:06
Well normal since OGMuxer works in the current path (so its own path if you drag'n'drop). Actually, what is weird is that ogmuxer.exe is in the same path as re.omx, re.avi, re.ogg, re.txt
Which mean they all have the same path.

Hum, nobody told you it was bad to use the Administrator account for common usage ;) Actually, I changed the path to say administrator to protect the name of the persons account I am using ;)

Suiryc
4th October 2002, 19:10
Originally posted by Emp3r0r
Actually, what is weird is that ogmuxer.exe is in the same path as re.omx, re.avi, re.ogg, re.txt
Which mean they all have the same path.
:confused: So I was wrong ... Will see if I can do something for improving that :D

Suiryc
4th October 2002, 22:37
I put v1.0a1 of OGMuxer on the site.
This is the version that merge the muxer and the cutter.
There may be lot of bugs in it but if you want to test you can :D

Nb : If you use audio reprocessing and splitting/cutting capabilities of this version the program eats more memory :D.
(exemple where using both capabilities : 700MB AVI (~1h) containing video+AC3+MP3, + 40MB Ogg file + SRT file => a maximum of ~40MB used during my test)

tecxx
7th October 2002, 22:23
i just tried oggmcutter to split my 1.4 gig video with rearranging the chapter info.

it's just great. thanks a lot!!!

ps: someone should put the chapter code into ogmuxer

Suiryc
7th October 2002, 22:44
Originally posted by tecxx
ps: someone should put the chapter code into ogmuxer
:confused: (you mean OGMuxer or OggMux ?)

I put v1.0a2 of OGMuxer on the site. I fixed some bugs mainly introduced in version 1.0a1 (making OGMuxer unusable in cases like : using a Vorbis stream, using an .omx file, ... :( ).

I also put another modification of VirtualDub. Now the (first) audio stream is also processed when saving to an OGM file.

PS : this means that when you have an OGM file with only one audio and one video stream this VirtualDub could replace OGMCutter (except if there are comments like chapters : they won't be updated).

Kurd
8th October 2002, 02:19
great, now Vdub works with Ogm. Now i can splitt OGm files with Vdub, so i changed my ripping Method of my Episodes to OGM too.

Suiryc
8th October 2002, 17:09
Before changing anything you should first try it to see if this works well enough (I cannot guarantee that this will work in all possible situations, and that there won't be any problem like desynchronisation between video and audio).

It would be bad if this tool screw up your favorite clips :(

meleth
16th October 2002, 19:11
Hi,

I'm sure someone has asked this before, but it would be nice to be able to name the sound and subtitle streams in your muxer tool. Somehow i can't seem to be able to find a switch for this. Is there another program that can be used to do this?