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
Register FAQ Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
Old 15th December 2007, 11:01   #181  |  Link
georgem67
Registered User
 
Join Date: Dec 2007
Posts: 35
ff/rewind or resume

Pause works great but is it really the PS3 stopping the ff/rewind or something in the making of the vob?? ...if you give the ps3 a vob created by other programs, they ff/rewind and resume perfectly, so the problem must be in the actual conversion from mkv2vob..
georgem67 is offline   Reply With Quote
Old 16th December 2007, 02:31   #182  |  Link
3r1c
Registered User
 
Join Date: Feb 2007
Posts: 383
thats because vobs created by other programs are dvd mpeg2 not h264.

the reason is because h264 in vob is non-standard, its amazing it plays at all. but currently its the only way to get h264 and ac3 to work on ps3 so theres no other choice then to just live without ff/rw.
3r1c is offline   Reply With Quote
Old 16th December 2007, 19:32   #183  |  Link
georgem67
Registered User
 
Join Date: Dec 2007
Posts: 35
It's a brilliant program anyway...I generally only need to pause to run for a beer...so a big thank you for all your work!!!
georgem67 is offline   Reply With Quote
Old 19th December 2007, 01:38   #184  |  Link
fonkee1
Registered User
 
Join Date: Feb 2007
Posts: 10
After updating to Sony PS3 firmware 2.10 to unlock DIVX, it seems it may have horked the VOB format playback. It seems more likely in files over 4GB that I was able to copy to the internal PS3 hard drive have trouble playing back. It will playback the preview fine, but I have to force it like 3-4 times before the movie will playback. Before 2.10, they all fired up fine. Anyone else have issues and or ideas as to why this is happening? Thanks
fonkee1 is offline   Reply With Quote
Old 19th December 2007, 05:51   #185  |  Link
3r1c
Registered User
 
Join Date: Feb 2007
Posts: 383
I dont have any 4gb+ files to test, however sony does say in the notes that files bigger then 4gb wont work with the new update. Im not sure if this means just on the internal hdd or other sources.
3r1c is offline   Reply With Quote
Old 19th December 2007, 05:55   #186  |  Link
3r1c
Registered User
 
Join Date: Feb 2007
Posts: 383
if anyone has files which do not play please post the headers here so i can try to detect non playable files in next version.

so far it seems its due to the reference frames.
upto 5 refs plays, 7 or more doesnt play.
i havent seen any files with 6 refs yet so i dont know.

if anyone knows how to calculate the minimum AVC level from these numbers please PM me

my findings so far
Code:
WORKING
-----------
cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x133 me=umh subme=6 brdo=1 mixed_ref=1 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 chroma_qp_offset=0 slices=1 nr=0 decimate=1 mbaff=0 bframes=3 b_pyramid=1 b_adapt=1 b_bias=0 direct=1 wpredb=1 bime=1 keyint=250 keyint_min=25 scenecut=40 rc=2pass bitrate=4984 ratetol=1.0 rceq='blurCplx^(1-qComp)' qcomp=0.60 qpmin=10 qpmax=51 qpstep=4 cplxblur=20.0 qblur=0.5 ip_ratio=1.40 pb_ratio=1.30
cabac=1 ref=3 deblock=1:0:1 analyse=0x3:0x133 me=umh subme=6 brdo=1 mixed_ref=1 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 chroma_qp_offset=0 slices=1 nr=0 decimate=1 mbaff=0 bframes=3 b_pyramid=1 b_adapt=1 b_bias=0 direct=1 wpredb=1 bime=1 keyint=250 keyint_min=25 scenecut=40 rc=2pass bitrate=4668 ratetol=1.0 rceq='blurCplx^(1-qComp)' qcomp=0.60 qpmin=10 qpmax=51 qpstep=4 cplxblur=20.0 qblur=0.5 ip_ratio=1.40 pb_ratio=1.30
cabac=1 ref=1 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=5 brdo=0 mixed_ref=0 me_range=12 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 chroma_qp_offset=0 threads=3 nr=0 decimate=0 mbaff=0 bframes=3 b_pyramid=1 b_adapt=1 b_bias=0 direct=3 wpredb=0 bime=1 keyint=250 keyint_min=25 scenecut=40(pre) rc=2pass bitrate=3393 ratetol=1.0 rceq='blurCplx^(1-qComp)' qcomp=0.60 qpmin=10 qpmax=51 qpstep=4 cplxblur=20.0 qblur=0.5 ip_ratio=1.40 pb_ratio=1.30
cabac=1 ref=4 deblock=1:-2:-1 analyse=0x3:0x133 me=hex subme=6 brdo=1 mixed_ref=0 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 chroma_qp_offset=0 threads=6 nr=0 decimate=1 mbaff=0 bframes=3 b_pyramid=1 b_adapt=1 b_bias=0 direct=3 wpredb=1 bime=1 keyint=250 keyint_min=25 scenecut=40(pre) rc=2pass bitrate=3170 ratetol=1.0 rceq='blurCplx^(1-qComp)' qcomp=0.60 qpmin=10 qpmax=51 qpstep=4 cplxblur=20.0 qblur=0.5 ip_ratio=1.40 pb_ratio=1.30
cabac=1 ref=3 deblock=1:1:1 analyse=0x1:0 me=hex subme=5 brdo=0 mixed_ref=1 me_range=6 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 chroma_qp_offset=0 threads=6 nr=0 decimate=1 mbaff=0 bframes=3 b_pyramid=1 b_adapt=1 b_bias=0 direct=3 wpredb=1 bime=0 keyint=250 keyint_min=25 scenecut=40(pre) rc=2pass bitrate=2560 ratetol=1.0 rceq='blurCplx^(1-qComp)' qcomp=0.60 qpmin=10 qpmax=51 qpstep=4 cplxblur=20.0 qblur=0.5 ip_ratio=1.40 pb_ratio=1.30
cabac=1 ref=1 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=5 brdo=0 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 chroma_qp_offset=0 threads=6 nr=0 decimate=1 mbaff=0 bframes=3 b_pyramid=1 b_adapt=1 b_bias=0 direct=2 wpredb=0 bime=0 keyint=290 keyint_min=23 scenecut=40(pre) rc=2pass bitrate=3398 ratetol=1.0 rceq='blurCplx^(1-qComp)' qcomp=0.60 qpmin=10 qpmax=51 qpstep=4 cplxblur=20.0 qblur=0.5 ip_ratio=1.40 pb_ratio=1.30
cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x133 me=hex subme=6 brdo=0 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 chroma_qp_offset=0 threads=6 nr=0 decimate=1 mbaff=0 bframes=3 b_pyramid=1 b_adapt=1 b_bias=0 direct=1 wpredb=1 bime=1 keyint=240 keyint_min=24 scenecut=40(pre) rc=2pass bitrate=2603 ratetol=1.0 rceq='blurCplx^(1-qComp)' qcomp=0.60 qpmin=10 qpmax=51 qpstep=4 cplxblur=20.0 qblur=0.5 ip_ratio=1.40 pb_ratio=1.30
cabac=1 ref=5 deblock=1:0:0 analyse=0x3:0x133 me=umh subme=7 brdo=0 mixed_ref=0 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 chroma_qp_offset=0 threads=6 nr=0 decimate=1 mbaff=0 bframes=3 b_pyramid=1 b_adapt=1 b_bias=0 direct=1 wpredb=1 bime=1 keyint=240 keyint_min=24 scenecut=40(pre) rc=2pass bitrate=2578 ratetol=1.0 rceq='blurCplx^(1-qComp)' qcomp=0.60 qpmin=10 qpmax=51 qpstep=4 cplxblur=20.0 qblur=0.5 ip_ratio=1.40 pb_ratio=1.30
cabac=1 ref=1 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=5 brdo=0 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 chroma_qp_offset=0 threads=3 nr=0 decimate=1 mbaff=0 bframes=3 b_pyramid=1 b_adapt=1 b_bias=0 direct=2 wpredb=0 bime=0 keyint=290 keyint_min=23 scenecut=40(pre) rc=2pass bitrate=3370 ratetol=1.0 rceq='blurCplx^(1-qComp)' qcomp=0.60 qpmin=10 qpmax=51 qpstep=4 cplxblur=20.0 qblur=0.5 ip_ratio=1.40 pb_ratio=1.30

NOT WORKING
-----------
cabac=1 ref=8 deblock=1:0:0 analyse=0x3:0x133 me=hex subme=6 brdo=1 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 chroma_qp_offset=0 slices=2 nr=0 decimate=1 mbaff=0 bframes=3 b_pyramid=1 b_adapt=1 b_bias=0 direct=1 wpredb=1 bime=1 keyint=250 keyint_min=25 scenecut=40 rc=2pass bitrate=4948 ratetol=1.0 rceq='blurCplx^(1-qComp)' qcomp=0.60 qpmin=10 qpmax=51 qpstep=4 cplxblur=20.0 qblur=0.5 ip_ratio=1.40 pb_ratio=1.30
cabac=1 ref=16 deblock=1:0:0 analyse=0x3:0x133 me=hex subme=6 brdo=1 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 chroma_qp_offset=0 slices=2 nr=300 decimate=1 mbaff=0 bframes=3 b_pyramid=1 b_adapt=1 b_bias=0 direct=1 wpredb=1 bime=1 keyint=250 keyint_min=25 scenecut=40 rc=2pass bitrate=5175 ratetol=1.5 rceq='blurCplx^(1-qComp)' qcomp=0.60 qpmin=10 qpmax=51 qpstep=4 cplxblur=20.0 qblur=0.5 ip_ratio=1.40 pb_ratio=1.30
cabac=1 ref=10 deblock=1:-3:-2 analyse=0x3:0x133 me=umh subme=7 brdo=1 mixed_ref=1 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=2 deadzone=22,11 chroma_qp_offset=0 threads=2 nr=0 decimate=1 mbaff=0 bframes=3 b_pyramid=1 b_adapt=1 b_bias=0 direct=3 wpredb=1 bime=1 keyint=250 keyint_min=25 scenecut=40(pre) rc=2pass bitrate=5123 ratetol=1.0 rceq='blurCplx^(1-qComp)' qcomp=0.60 qpmin=10 qpmax=51 qpstep=4 cplxblur=20.0 qblur=0.5 ip_ratio=1.40 pb_ratio=1.30
cabac=1 ref=7 deblock=1:-2:-1 analyse=0x3:0x133 me=umh subme=6 brdo=1 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 chroma_qp_offset=0 threads=6 nr=0 decimate=1 mbaff=0 bframes=3 b_pyramid=1 b_adapt=1 b_bias=0 direct=3 wpredb=1 bime=1 keyint=250 keyint_min=25 scenecut=40(pre) rc=2pass bitrate=3388 ratetol=1.0 rceq='blurCplx^(1-qComp)' qcomp=0.60 qpmin=10 qpmax=51 qpstep=4 cplxblur=20.0 qblur=0.5 ip_ratio=1.40 pb_ratio=1.30

Last edited by 3r1c; 19th December 2007 at 05:59.
3r1c is offline   Reply With Quote
Old 19th December 2007, 08:13   #187  |  Link
zwirek75
Registered User
 
Join Date: Oct 2007
Location: Kraków/Poland
Posts: 9
Quote:
Originally Posted by 3r1c View Post
if anyone has files which do not play please post the headers here so i can try to detect non playable files in next version.
Well.. I had a look at x264 source files - please have a look at procedure x264_validate_levels in the source file encoder/set.c

For level 41 it goes like this:
{ 41, 245760, 8192, 12582912, 50000, 62500, 512, 16, 24, 1, 1, 0 },
which means:
41 - level 4.1

245760 - max macroblock processing rate (macroblocks/sec)
8192 - max frame size (macroblocks)
12582912 - max decoded picture buffer (bytes)
50000 - max bitrate (kbit/sec)
62500 - max vbv buffer (kbit)
512 - max vertical mv component range (pixels)
etc.

The question is what is macroblock (IMO elementary element of the frame of one of predefined classes of size 16x16 pixels) etc
Note that number of reference frames for given level depends on max decoded picture buffer (based on quick calculations - 9 for 720p, 4 for 1080p - which is not excactly the same as empirical values ... 1080p works for at most 2 ref frames)
I dont know how to extract the information about resolution (either in pixels or in macroblocks) and number of reference frames used for stream encoding.
If such parameters exist maybe it would be possible to trick PS3 to play AVC 5.1 as well - since the possibility is there due to Blu-ray playback.

For level 51 it goes like this - (so just much higher numbers)
{ 51, 983040, 36864, 70778880, 240000, 240000, 512, 16, 24, 1, 1, 1 },

Hope it helps

Tomasz

Last edited by zwirek75; 19th December 2007 at 08:34.
zwirek75 is offline   Reply With Quote
Old 19th December 2007, 09:23   #188  |  Link
3r1c
Registered User
 
Join Date: Feb 2007
Posts: 383
yeah those numbers come from the same specs that are on wikipedia which i already read, the problem is i dont know how to convert the data in the x264 header into number of macroblocks,buffer etc...
3r1c is offline   Reply With Quote
Old 19th December 2007, 09:36   #189  |  Link
zwirek75
Registered User
 
Join Date: Oct 2007
Location: Kraków/Poland
Posts: 9
Quote:
Originally Posted by 3r1c View Post
yeah those numbers come from the same specs that are on wikipedia which i already read, the problem is i dont know how to convert the data in the x264 header into number of macroblocks,buffer etc...
From x264:
number of macroblocks per frame mbs = h->sps->i_mb_width * h->sps->i_mb_height;

i_mb_width = ( param->width+ 15 ) / 16;
i_mb_height= ( param->height+ 15 ) / 16;

buffer size bytes = mbs * 384 * num_ref_frames
Regards
Tomasz
zwirek75 is offline   Reply With Quote
Old 19th December 2007, 10:37   #190  |  Link
fonkee1
Registered User
 
Join Date: Feb 2007
Posts: 10
WOOT!! I figured it out. In order to get VOBs greater than 4GB to play on the PS3 with the new 2.10 fw update, you just select the movie in XMB, press Triangle and select PLAY FROM THE BEGINNING. Just hitting the X button or SELECT button will not work. Now enjoy those VOBs and DIVX files!
fonkee1 is offline   Reply With Quote
Old 19th December 2007, 19:00   #191  |  Link
3r1c
Registered User
 
Join Date: Feb 2007
Posts: 383
Quote:
Originally Posted by zwirek75 View Post
From x264:
number of macroblocks per frame mbs = h->sps->i_mb_width * h->sps->i_mb_height;

i_mb_width = ( param->width+ 15 ) / 16;
i_mb_height= ( param->height+ 15 ) / 16;

buffer size bytes = mbs * 384 * num_ref_frames
Regards
Tomasz
excellent thanks.
it wasnt quite a simple as the above code but looking through the source code i figured it out.

i know now exactly why the files in my last post wont play, next version will have detection of unplayable files
3r1c is offline   Reply With Quote
Old 19th December 2007, 23:07   #192  |  Link
3r1c
Registered User
 
Join Date: Feb 2007
Posts: 383
New version released.

V1.3 19/Dec/2007
Added detection of files that would be unplayable on ps3 (black screen) these files will now be transcoded to mpeg2.
Added 1080p support.
3r1c is offline   Reply With Quote
Old 19th December 2007, 23:59   #193  |  Link
derron
Registered User
 
Join Date: Nov 2007
Posts: 1
Excellent work 3r1c!

Just tested it with a sample that didn't work previously.

Now it's converted to mpeg2 and plays just fine on the ps3.

The output file size is twice as large as the mkv but I suppose it's normal, h.264 must be a better codec!

I didn't update the Ps3's firmware yet, I'll wait a few days until I'm sure .vob are still playing with 2.10.

Thanks a lot again!
derron is offline   Reply With Quote
Old 20th December 2007, 11:55   #194  |  Link
macman241
Registered User
 
Join Date: Dec 2007
Posts: 2
I've downloaded the latest 1.03 release and found the following:

1. I split 4G+ MKV files using MKVMergeGUI to 2.5G chunks

2. I then run mkv2vob separately so that I end up with VOBs smaller than 4G to put on a FAT32 USB drive to play on the PS3

Latest mkv2vob would always transcode the second MKV part of the file to MPEG-2, but not the first one

So, an Enemy of the State 720p.001.mkv and 002.mkv

mkv2vob would only remux 001.mkv very quickly, but would always transcode 002.mkv

Any ideas?

Update 1: Have just ran mkv2vob 1.02 on the same files and performs as expected without transcoding. I presume something has changed in 1.03 when it tries to determine whether the file is playable on the PS3 and for some reason decides it's not and transcodes.

Last edited by macman241; 20th December 2007 at 13:41.
macman241 is offline   Reply With Quote
Old 20th December 2007, 17:30   #195  |  Link
3r1c
Registered User
 
Join Date: Feb 2007
Posts: 383
i think this is because when you split it you removed the x264 header.

new version searches for the x264 header and processes it, if the values are too high or header not found it assumes the file will not be playable.

i didnt think of split files, i guess you can still use 1.2.
I have absolutely no way to check playability if the header is removed.
3r1c is offline   Reply With Quote
Old 20th December 2007, 20:28   #196  |  Link
macman241
Registered User
 
Join Date: Dec 2007
Posts: 2
I'd expect MKVMerge to keep/create valid headers when splitting. Is there I can check whether there is a valid header for both parts? I can send you the info back if it would be helpful.
macman241 is offline   Reply With Quote
Old 21st December 2007, 00:56   #197  |  Link
3r1c
Registered User
 
Join Date: Feb 2007
Posts: 383
if you hex edit the h264 file you will see the header which looks like this in the first 1024 bytes.

Quote:
cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x133 me=umh subme=6 brdo=1 mixed_ref=1 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 chroma_qp_offset=0 slices=1 nr=0 decimate=1 mbaff=0 bframes=3 b_pyramid=1 b_adapt=1 b_bias=0 direct=1 wpredb=1 bime=1 keyint=250 keyint_min=25 scenecut=40 rc=2pass bitrate=4984 ratetol=1.0 rceq='blurCplx^(1-qComp)' qcomp=0.60 qpmin=10 qpmax=51 qpstep=4 cplxblur=20.0 qblur=0.5 ip_ratio=1.40 pb_ratio=1.30
when you split, only the first file has this header, its not copied to the others by mkvmerge.

i will release next version shortly, it will ask you if you want mpeg2 or not, will upload as soon as i fix another issue with DTS.
3r1c is offline   Reply With Quote
Old 21st December 2007, 01:03   #198  |  Link
SKAPiter
Registered User
 
SKAPiter's Avatar
 
Join Date: Nov 2007
Posts: 13
Are there any troubles playing back vobs with the new firmware 2.10? I just starting to enjoy my PS3, thanks to 3r1c's mkv2vob with firmware 2.01. Would hate to loose this feature with new firmware.

BTW, I was too, using mkvmerge to split files for FAT32 USB disk, so new version which will treat splitted files correctly will be highly appreciated.

Another request, if I may. :-) I have mkvs with multiple audio tracks (languages) Is it possible to include a feature where I can select which audio track to mux into vob? That would make my day (year)! :-)
SKAPiter is offline   Reply With Quote
Old 21st December 2007, 02:47   #199  |  Link
3r1c
Registered User
 
Join Date: Feb 2007
Posts: 383
2.10 firmware does play it just as good but with some small changes.

There is a change in firmware 2.10 which effects resuming/pausing/fastforward (it never worked before) but now instead of being out of sync it just freezes.

All you have to do is instead of selecting the movie as usual, highlight it, press triangle, select Play from the beginning.
3r1c is offline   Reply With Quote
Old 21st December 2007, 08:49   #200  |  Link
zwirek75
Registered User
 
Join Date: Oct 2007
Location: Kraków/Poland
Posts: 9
Quote:
Originally Posted by 3r1c View Post
if you hex edit the h264 file you will see the header which looks like this in the first 1024 bytes.


And what if the stream was not encoded with x264 ?
What if it has been already processed by h264info in term of changing the internals ?

I am currently working on a replacement for h264info based on full h264 stream parsing ... hope I'd have time to make an usable version.

Tomasz
zwirek75 is offline   Reply With Quote
Reply


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 13:52.


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