Printable Version of Topic
Click here to view this topic in its original format
Unofficial VirtualDub Support Forums > VirtualDub Development Forum > Container Formats...


Posted by: fmagreed2 Feb 11 2011, 10:49 PM
I know this has at least been touched on in the past, but I thought it might be worth bringing up again since it's become much more relevant. That said, I'm not entirely sure if it's possible since I'm rather new on the media creation side of things. If this is totally undoable then just say so and ignore my ramblings.

Anyway...

The center of my thoughts is the compatibility of h264 and the avi container. B-frames don't work. From what I understand, the container's just too outdated. In the past that wasn't an issue, since you'd typically never go straight to h264 anyway - the process would be too CPU intensive. If you wanted 264, you captured uncompressed/lossless video, and used a different program to encode into 264 and a mkv/mp4 container.

Nowdays, though, computers are at the point that it's possible to encode 264 in real-time. Not at the best of qualities, yet, but we're at a level where it's practical for certain tasks.

So, is there the possibility of switch virtualdub's main container, or is this outside the realm of reason?

Alternatively, would it be possible to simply record the audio/video stream into non-muxed files, which you could then feed to an application to make an mkv or mp4 file.

Is any of this remotely possible, or am I completely misled? I don't know anything about the programming-side of these things, so sorry if I'm just wasting time.

Posted by: dloneranger Feb 11 2011, 11:23 PM
Sounds like you want to use the external encoder support that was added a while ago

See
http://forums.virtualdub.org/index.php?act=ST&f=3&t=18840

Posted by: fmagreed2 Feb 11 2011, 11:58 PM
Wow, I had no idea that feature had been added. ohmy.gif

It's not available in capture mode, though. Any chance this will be added?

Posted by: dloneranger Feb 12 2011, 12:03 AM
Sorry I have no idea

It could be on Phaerons to do list, or the latencies involved in syncing up all the individual programs would result in an unholy mess

Posted by: phaeron Feb 13 2011, 10:27 PM
I haven't looked into the ramifications of trying to do that, although I think I'd probably have to extend the video format support first (currently it just uses YV12).

Posted by: i4004 Feb 14 2011, 06:22 PM
QUOTE (fmagreed2 @ Feb 12 2011, 12:49 AM)
The center of my thoughts is the compatibility of h264 and the avi container. B-frames don't work. From what I understand, the container's just too outdated.

uh, i use x264vfw for a long time now and i do care about my lipsync, and it's ok.
with 2 b frames.
and "vdub hack" ticked.

QUOTE
Format                          : AVI
Format/Info                      : Audio Video Interleave
File size                        : 672 MiB
Duration                        : 2h 10mn
Overall bit rate                : 722 Kbps
Writing library                  : VirtualDub build 32842/release

Video
ID                              : 0
Format                          : AVC
Format/Info                      : Advanced Video Codec
Format profile                  : High@L3.0
Format settings, CABAC          : Yes
Format settings, ReFrames        : 3 frames
Codec ID                        : H264
Duration                        : 2h 10mn
Bit rate                        : 584 Kbps
Width                            : 480 pixels
Height                          : 576 pixels
Display aspect ratio            : 0.833
Frame rate                      : 25.000 fps
Color space                      : YUV
Chroma subsampling              : 4:2:0
Bit depth                        : 8 bits
Scan type                        : Progressive
Bits/(Pixel*Frame)              : 0.084
Stream size                      : 544 MiB (81%)
Writing library                  : x264 core 66 r1115bm 11863ac
Encoding settings                : cabac=1 / ref=3 / deblock=1:-4:-4 / analyse=0x3:0x113 / me=umh / subme=7 / psy_rd=0.0:0.0 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=0 / threads=2 / thread_queue=2 / nr=0 / decimate=1 / mbaff=0 / bframes=2 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=1 / wpredb=1 / keyint=250 / keyint_min=25 / scenecut=40(pre) / rc=crf / crf=24.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.00:0:10.00

Audio
ID                              : 1
Format                          : MPEG Audio
Format version                  : Version 1
Format profile                  : Layer 3
Mode                            : Joint stereo
Mode extension                  : MS Stereo
Codec ID                        : 55
Codec ID/Hint                    : MP3
Duration                        : 2h 10mn
Bit rate mode                    : Constant
Bit rate                        : 128 Kbps
Channel(s)                      : 2 channels
Sampling rate                    : 48.0 KHz
Stream size                      : 119 MiB (18%)
Alignment                        : Split accross interleaves
Interleave, duration            : 40 ms (1.00 video frame)
Interleave, preload duration    : 500 ms


something more interesting is that even some hardware devices playback such avi files with x264 with b-frames inside.

Powered by Invision Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)