Log in

View Full Version : Scenarist 4.1 avc/vc1 assets


Pages : [1] 2 3 4

McCrash
13th December 2006, 21:27
I managed to grab scenarist 4.1 Hd-DVD standard content today, i was unsuccesful at using any avc or vc1 assets. Anybody else tried it out ?

Eric69
15th December 2006, 03:30
Try what out in what way?

Malow
15th December 2006, 07:58
im get it to work with mainconcept encoder, using an "AVC-HD"@ level 4.1 (configuring gop to 15) elementary stream, or an mpeg2-hd encoded in procoder.

BUT, h.264 with x264 i can't... i guess because scenarist need a elementary stream, i was thinking that raw stream = elementary stream... :(

how i get a elementary stream from x264??? ;)

i'm getting errors with elecard converter studio... even with their default hd-dvd settings....

McCrash
15th December 2006, 09:52
Try what out in what way?
Adding avc and vc-1 assets to an hd-dvd scenario.

McCrash
15th December 2006, 09:53
BUT, h.264 with x264 i can't... i guess because scenarist need a elementary stream, i was thinking that raw stream = elementary stream... :(


What the hell is an elementary stream ?:confused:

Susana
15th December 2006, 10:49
In a program stream, like .mpg .vob .ts .avi . mp4 .... files, you can multiplex a elementary stream of audio, like .mp2 .mp3 .ac3 .aac .dts .... files, and a elementary stream of video, like .m2v .mpg ... files, and maybe a elementary stream of subtitles like .sup ... files.

program stream is the container
elementary streams are the content

and both are file types with their fields, properties, ...

McCrash
15th December 2006, 12:44
Oh i see.

So as a .h264 file is not a container afaik, a program like Scenarist4 should be able to load them as video assets, shouldn't it?

What about VC1 ? WMV is a container, is it not ? What kind of file is a vc1 elementary stream ?

Malow
15th December 2006, 18:16
i guess we have program stream, elementary stream, raw stream...

tried even with transport streams... ;)

it need elementary stream....

yes, wmv is a container, neuron2 was looking for a way to demux in another post... :(

the strange thing, mainconcept encoder generate a .mpv stream, (elementary) and work, but wen played, it use a mpeg2 demuxer....

????????

bond
16th December 2006, 14:28
elementary stream = raw stream = .264/.h264

with x264 demux from .mp4 to .264 with yamb/mp4box

McCrash
16th December 2006, 15:19
Then obviously, the Scenarist4 i found does not handle anything but mpeg2.

Malow
16th December 2006, 19:30
elementary stream = raw stream = .264/.h264

mmm... well, scenarist say "unsuported format"

is something missing in this raw stream?

easy2Bcheesy
16th December 2006, 22:06
Then obviously, the Scenarist4 i found does not handle anything but mpeg2.

You are sailing dangerously close to violating rule #6 of the forum.

McCrash
16th December 2006, 23:42
Whatever you say boss.

bond
17th December 2006, 13:49
mmm... well, scenarist say "unsuported format"

is something missing in this raw stream?propably it doesnt support raw streams

D3s7
19th December 2006, 21:28
Scenarist is purely a muxing engine.. there is no conversion accept wav -> ac3 and that's done from an external application.

I wouldn't expect Scenarist to accept much besides Mpeg1,2 and maybe 4

Malow
19th December 2006, 22:12
till now, ive tested with mpeg2 ES and h.264 ES from mainconcept encoder. im unable to generate a vc-1 ES.

build a simple hd-dvd, menus, etc, using avc. plays fine on powerdvd hd-dvd.

tested also h.264 in mp4, mpg, ts.... just elementary works...

as i cant use x264 to make video for scenarist, so, im testing with mpeg2 from procoder...

McCrash
20th December 2006, 11:40
till now, ive tested with mpeg2 ES and h.264 ES from mainconcept encoder. im unable to generate a vc-1 ES.


What kind of file was your h264 es from mainconcept encoder ? A .264, .h264, .mpeg, .m4v ? When i try to add an assest, there are no .264 or .h264 in the extenstion list.

Sagittaire
20th December 2006, 14:04
Unfortunaly x264 don't produce compliant HDDVD/BD elementary stream ...

Trahald
20th December 2006, 18:08
malow.. can you provide a small sample of an h264 es?

Malow
20th December 2006, 22:01
What kind of file was your h264 es from mainconcept encoder ? A .264, .h264, .mpeg, .m4v ? When i try to add an assest, there are no .264 or .h264 in the extenstion list.

an h.264 elementary it uses .mpv

Malow
20th December 2006, 22:02
malow.. can you provide a small sample of an h264 es?

sure!. just wait a little, at home i send to rapidshare ;)

Malow
21st December 2006, 11:31
http://rapidshare.com/files/8375020/h.264_es.mpv.html

31 sec, 1920x1080 12000kpbs VBR, 46MB

from my friend hdv camera... ;)

McCrash
21st December 2006, 13:41
Man, it works !

You said this file was made by mainconcept encoder ?

Does this mean all my hd h264 files aren't hd-dvd compliant ? Or do we need somehow transform a .h264 into a .mpv ?

Trahald
21st December 2006, 14:42
@mccrash

the h264 file needs to be a .mpv (elementary stream ie without a container) . there wasnt much use for elementary mpeg-4 streams til now so nothing really makes them (there isnt really much playback support). i have a feeling proper demuxers will start sprouting up soon.

[ps] hopefully more mpeg-4 encoders will start including a program stream output option

McCrash
21st December 2006, 15:54
Elecard xmuxer pro demux can demux TS to mpv, i am going to try muxing an demuxing Malow's file and see if it's still compliant.

Malow
21st December 2006, 17:30
You said this file was made by mainconcept encoder ?

yes, u can see the logo on top-left.. .;)

elecard uses the same encoding engine, but i can't make a compilant stream. old mainconcept h.264 encoder dont work also. they fixed something in this new version (trial 2.1)

OT: the trial logo are so small in HD, we can use with no harm.. ;)

McCrash
22nd December 2006, 12:03
Indeed, I muxed your mpv file into a transport stream with xmuxer pro, then demuxed back into a mpv that is longer accepted by scenarist.

Trahald
22nd December 2006, 16:06
mccrash.. i did what you did.. but then took a hex editor.. inserted HEX:(00 00 00 01 09 10) in front of the new file xmuxer made. and poof.. its accepted. the 00 00 00 01 is a sync word but i cant find what the 09 10 specifically represents. i can only find info on the traditional mpeg2 header codes. but anyways.. it works.. gonna play around with some other streams i have to see whats needed to get them to work

Malow
22nd December 2006, 21:39
gonna play around with some other streams i have to see whats needed to get them to work

i will play too! :D

McCrash
23rd December 2006, 12:59
Uh? That didn't work for me, the mpv produced by xmuxerpro has already 00 00 00 01 41 9A in front of it. Wheiter i replace those numbers by yours or add them in front, scenarist don't accept the mpv anymore.
My xmuxerpo is 2.1.55 (61024)

bond
23rd December 2006, 13:58
@mccrash

the h264 file needs to be a .mpv (elementary stream ie without a container) . there wasnt much use for elementary mpeg-4 streams til now so nothing really makes them (there isnt really much playback support). i have a feeling proper demuxers will start sprouting up soon.

[ps] hopefully more mpeg-4 encoders will start including a program stream output optionthe file from Malow is a .264 elementary stream (btw .264 is the only official extension for raw avc streams, as created by the reference encoder)
its easy to create such elementary streams, be it from mpg ts or ps or mp4 with most free tools widely used (ffmpeg, mplayer, mp4box, mp4creator...)
you can also create elementary streams with x264...

that said .264 was widely used till now as intermediate format (you can also play them with mplayer for example)

to be compliant with hddvd you need to care about more than the format tough, therefore i read out the headers for the stream posted:
Nal length 45 start code 4 bytes
ref 3 type 7 Sequence parameter set
profile: 100
constaint_set0_flag: 0
constaint_set1_flag: 0
constaint_set2_flag: 0
constaint_set3_flag: 0
level_idc: 41
seq parameter set id: 0
chroma format idx: 1
bit depth luma minus8: 0
bit depth chroma minus8: 0
Qpprime Y Zero Transform Bypass flag: 0
Seq Scaling Matrix Present Flag: 0
log2_max_frame_num_minus4: 4
pic_order_cnt_type: 0
log2_max_pic_order_cnt_lsb_minus4: 4
num_ref_frames: 4
gaps_in_frame_num_value_allowed_flag: 0
pic_width_in_mbs_minus1: 119 (1920)
pic_height_in_map_minus1: 33
frame_mbs_only_flag: 0
derived height: 1088
mb_adaptive_frame_field_flag: 0
direct_8x8_inference_flag: 1
frame_cropping_flag: 1
frame_crop_left_offset: 0
frame_crop_right_offset: 0
frame_crop_top_offset: 0
frame_crop_bottom_offset: 2
vui_parameters_present_flag: 1
aspect_ratio_info_present_flag: 1
aspect_ratio_idc:1
overscan_info_present_flag: 0
video_signal_info_present_flag: 1
video_format: 2
video_full_range_flag: 0
colour_description_present_flag: 1
colour_primaries: 1
transfer_characteristics: 1
matrix_coefficients: 1
chroma_loc_info_present_flag: 0
timing_info_present_flag: 1
num_units_in_tick: 1001
time_scale: 60000
fixed_frame_scale: 1
nal_hrd_parameters_present_flag: 1
cpb_cnt_minus1: 0
bit_rate_scale: 3
cpb_size_scale: 7
bit_rate_value_minus1[0]: 39062
cpb_size_value_minus1[0]: 45775
cbr_flag[0]: 0
initial_cpb_removal_delay_length_minus1: 31
cpb_removal_delay_length_minus1: 17
dpb_output_delay_length_minus1: 17
time_offset_length: 24
vcl_hrd_parameters_present_flag: 0
low_delay_hrd_flag: 0
pic_struct_present_flag: 1
motion_vectors_over_pic_boundaries_flag: 1
max_bytes_per_pic_denom: 0
max_bits_per_mb_denom: 0
log2_max_mv_length_horizontal: 10
log2_max_mv_length_vertical: 10
num_reorder_frames: 1
max_dec_frame_buffering: 4
Nal length 10 start code 4 bytes
ref 3 type 8 Picture parameter set
pic_parameter_set_id: 0
seq_parameter_set_id: 0
entropy_coding_mode_flag: 1
pic_order_present_flag: 0
num_slice_groups_minus1: 0
num_ref_idx_l0_active_minus1: 7
num_ref_idx_l1_active_minus1: 7
weighted_pred_flag: 1
weighted_bipred_idc: 0
pic_init_qp_minus26: 0
pic_init_qs_minus26: 0
chroma_qp_index_offset: 1
deblocking_filter_control_present_flag: 1
constrained_intra_pred_flag: 0
redundant_pic_cnt_present_flag: 0
transform_8x8_mode_flag: 1
pic_scaling_matrix_present_flag: 0
second_chroma_qp_index_offset: 1it tells you that the stream is high profile, uses cabac, loop, 4 reference frames, weigthed prediction, interlacing (non mbaff)...

also it uses access unit delimiters required in the stream when using mpeg ps (as done by hddvd)
additionally there are also surely requirements for specific gop structures aso

the only problem is we dont know the exact specs yet :D

Trahald
23rd December 2006, 15:10
@mcrash

you dont replace those numbers.. you have to insert the numbers in front (so you would have 00 00 00 01 09 10 00 00 00 01 41 9a ...)

your hex editer has to have an insert function.

McCrash
23rd December 2006, 15:25
Yet Mainconcept encoder is able to produce such a compliant elementary stream.

I am not used to h264 encoding, i was working mainly with xvid till now. But the percpetive to recompress a h264 hd capture into an hd-dvd compliant h264 elementary stream is my ultimate goal so far.

Is x264 unable to produce such a stream ?

PS: a vc1 elementary stream would be nice also, if that ever existed.

McCrash
23rd December 2006, 15:33
you dont replace those numbers.. you have to insert the numbers in front (so you would have 00 00 00 01 09 10 00 00 00 01 41 9a ...)

your hex editer has to have an insert function.

Yes yes that's what i also did and the file is no longer accepted here.

bond
23rd December 2006, 15:35
@mcrash

you dont replace those numbers.. you have to insert the numbers in front (so you would have 00 00 00 01 09 10 00 00 00 01 41 9a ...)

your hex editer has to have an insert function.those are the access unit delimiters i was talking about. at the start and between every frame there needs to be this AUD when placing avc in mpg ps or ts

when placing avc in other containers, like mp4 or mkv, you dont need those AUDs, therefore not every avc stream/encoder has those

in x264 you can enable/disabling writing AUDs into the stream

Is x264 unable to produce such a stream ?it is surely able to produce such a stream. the only problem is we dont know the hddvd specs to know what settings are allowed and which ones arent...

PS: a vc1 elementary stream would be nice also, if that ever existed.there is none. simply demuxing the wmv9 video stream from .wmv to raw doesnt seem to produce a useable stream (at least till now)

McCrash
23rd December 2006, 17:01
Can sombody give me some directions ? What would be the best tools to recompress a .264 (demuxed from transport stream) into another .264 (hopefully hd-dvd compliant)?

bond
23rd December 2006, 17:25
Can sombody give me some directions ? What would be the best tools to recompress a .264 (demuxed from transport stream) into another .264 (hopefully hd-dvd compliant)?well until we know the specs you will need to use an encoder tool that claims to be able to produce a hddvd compliant stream

with all other streams you will not be sure whether they are hddvd compliant unless you try them on a hddvd hardware player

McCrash
23rd December 2006, 17:37
well until we know the specs you will need to use an encoder tool that claims to be able to produce a hddvd compliant stream

with all other streams you will not be sure whether they are hddvd compliant unless you try them on a hddvd hardware player

If scenarist accept the resulting stream that's enough for me for the moment.

So i demuxed a transport stream and then used avc2avi but x264 does not want to use the avi as input. It says "avis [error]: unsupported input format (h264)" :eek:

bond
23rd December 2006, 17:45
If scenarist accept the resulting stream that's enough for me for the moment.

So i demuxed a transport stream and then used avc2avi but x264 does not want to use the avi as input. It says "avis [error]: unsupported input format (h264)" :eek: avi should not be used with avc anymore and hardly anyone does so

can you play the original .ts file in a directshow player? if no, install the haali media splitter and ffdshow.
create an .avs script loading the .ts file (no need to demux to raw .264)

feed this .avs into x264 and encode to .264. you can try to use megui for encoding with x264 which includes a hddvd profile that should make x264 use the features supported by hddvd

try to feed the resulting .264 to scenarist

McCrash
23rd December 2006, 18:30
In fact i tried that first but x264 tell me this : avis [error]: unsupported input format (YUY2)

The avs only contains a DirectShowSource("whatever.ts")

bond
23rd December 2006, 20:01
the decoder you are using outputs YUY2, which it should not do

check whether you can change the output colorspace in the decoder to YV12 (the avc stream itself is also YV12) so no colorspace conversions are done

you can also add converttoyv12() at the end of the script, but this means a yv12->yuy2->yv12 conversion thats not necessary

McCrash
23rd December 2006, 20:40
Okay thx a lot, CoreAvc was responsible, switched to ffdshow and it works. I am going to try some guis and keep you posted.

bond
23rd December 2006, 21:29
Okay thx a lot, CoreAvc was responsible, switched to ffdshow and it works. I am going to try some guis and keep you posted.you can set the output colorspace in coreavc's gui. coreavc is faster than ffdshow

CruNcher
24th December 2006, 00:08
you have to keep alot of stuff correct to the standard as bond allready mentioned FPS, Resolution Profile, SAR,Gop, AUD everything has to be correct or it wont be accepted for sure :) also x264 writes encoding information into the bitstream maybe thats a problem here too.

McCrash
24th December 2006, 01:32
Well well, after a few attempts with x264 and megui, i decided to give mainconcept encoder a try.
The encoder picks up directshow but it crashes on my TS stream when i go into the advanced settings, so i gave it my h264 avi made with avc2avi instead and encoded it to elementary stream (mpv) with high profile.
The resulting mpv was not accepted by scenarist on my first attempt because of a gop size problem that had to be 30 or lower. So i decreased the keyframe interval in the advanced settings to 15 and voila, scenarist loaded the file. I then builded the project and a nice HDDVD_TS folder was born.

Trahald
24th December 2006, 03:52
The resulting mpv was not accepted by scenarist on my first attempt because of a gop size problem that had to be 30 or lower. So i decreased the keyframe interval in the advanced settings to 15 and voila, scenarist loaded the file. .
thats the difference between the other files. files out put by mainconcept are being fully scanned at least(which takes a few seconds for these very short files). then it will either say accepted, or it will tell you why it wasnt. with the other raw files or h264 files or ts files it is failing immediately. seems it is reading a few bytes, decides it has no clue what its reading and gives up.

chadamir
24th December 2006, 05:29
Mainconcept 2.1 does in fact work. I can confirm sorenson squeeze does not. Ifoedit does not read these ifos so not much to be learned there.

bond
24th December 2006, 11:53
Well well, after a few attempts with x264 and megui, i decided to give mainconcept encoder a try.
The encoder picks up directshow but it crashes on my TS stream when i go into the advanced settings, so i gave it my h264 avi made with avc2avi instead and encoded it to elementary stream (mpv) with high profile.
The resulting mpv was not accepted by scenarist on my first attempt because of a gop size problem that had to be 30 or lower. So i decreased the keyframe interval in the advanced settings to 15 and voila, scenarist loaded the file. I then builded the project and a nice HDDVD_TS folder was born.how did you encode with x264? did you take into account what cruncher wrote?

Sagittaire
24th December 2006, 12:13
how did you encode with x264? did you take into account what cruncher wrote?

Here the compliant setting for HDDVD/BD compliant stream:
HDDVD use MPEG4 AVC HP@L4.1:
- CABAC, 8*8dct, inloop, CQM, wpred, Pref, Bref are compliant with the profil
- Max GOP at 0.6006 sec, max adaptative bframe at 2, max reference frame at 4 for P and 3 for B, max motion vector lenght at 512 pixels, max bitrate at 29.4 Mbps, cpb at 30000 Kbits

x264.exe --keyint 15 --min-keyint 1 --vbv-maxrate 28000 --vbv-bufsize 30000 --mvrange 512 --level 4.1 --bframe 2 --b-rdo --bime --weightb --ref 3 --mixed-refs --direct auto --deblock -1:-1 --crf 10 --qcomp 0.75 --ipratio 1.10 --pbratio 1.30 --partitions "all" --8x8dct --me "umh" --subme 7 --no-fast-pskip --no-dct-decimate --trellis 2 --progress -o H264_18Mbps.mp4 HDDVD.avs


but x264 don't produce HDDVD/BD compliant elementary stream because:
- vbv work correctly only in CBR mode for x264, vbv in multipass mode fail and crf mode too.
- x264 don't write HRD parameters in the bitstream.


Actually you can't use x264 for make HDDVD/BD compliant stream ... :-(

bond
24th December 2006, 12:19
sagi, dont forget the access unit delimiters:
--aud