View Full Version : AVC restreamer application
neuron2
5th February 2009, 01:19
I recently had the need to apply soft pulldown to an existing AVC stream (for testing a set-top box video decoder). I tried Trahald's h264info application, but it crashed on every stream I tried, and he appears to have abandoned it in any case, as it was apparently intended only for HD-DVD transcoding.
So I wrote my own and now I have a reliable infrastructure for restreaming AVC streams. I'm wondering if there are any remaining needs for restreaming now that HD-DVD is dead. For example, revising the profile/level, HRD/VCL info, etc. If so, I can add the required features and release my application. Your input in this regard will be appreciated.
popper
5th February 2009, 16:21
im not sure it would fit into your restreamer, but there are many people today that have both PS3's and 360s and stream to both in their LAN's, most people will and do use the higher bitrate PS3's settings for their final Encoding, but the 360 only plays upto 10Mb/s AVC HD H@L4.1/AAC 2 channel inside an MP4.
rather than have to re-encode twice and keep two copys, i wonder if your restreamer might one day become suitable to push the higher grade bitrate PS3 AVC encode through your Restreamer/coder? FIFO pipe, ajusting for the lower limits of the 360 in a live streaming situation, or perhaps im asking for to much, and theres a better realtime way to do that already?
neuron2
5th February 2009, 16:50
Re-quanting for bitrate reduction is an interesting idea but it's a bit more than I'd like to chew on right now.
lexor
5th February 2009, 17:08
Re-quanting for bitrate reduction is an interesting idea but it's a bit more than I'd like to chew on right now.
Wait, hold on, it is actually possible to do what popper describes without a re-encode?
neuron2
5th February 2009, 17:38
It depends on what you mean by "re-encode". Ever heard of DVDShrink?
RunningSkittle
5th February 2009, 18:21
but the 360 only plays upto 10Mpeg/s AVC H@L4.1/AAC 2 channel inside an MP4
What are the "real" max bit rate, resolution, and frames per second that the Xbox 360 console supports for all the different formats?
Answer: The Xbox 360 console does not block video from playing based on a maximum bit rate, resolution, or frames per second. Each codec's maximum has been tested using various video playback sources. Content with a higher bit rate is not blocked, but playback quality may be less than optimal. Use higher bit rates at your own risk.
http://support.xbox.com/support/en/us/nxe/gamesandmedia/movies/videofaq/viewvideoplaybackfaq.aspx
being able to change the level would be awesome!
vucloutr
5th February 2009, 18:46
hi, i not sure if it is part of "restreaming" but how about changing the framerate ?
for example from 25 fps to 24000/1001 fps, etc..
popper
5th February 2009, 18:54
http://support.xbox.com/support/en/us/nxe/gamesandmedia/movies/videofaq/viewvideoplaybackfaq.aspx
being able to change the level would be awesome!
indeed "The Xbox 360 console does not block video from playing based on a maximum bit rate, resolution, or frames per second." thats what they say..., now go off and actually do your own tests.
take your average beetlejuice HD source (say from the slow moveing panning driveway/attic to the floating off the bed 3 minute section) and AVC encode it down to 11Mbit/s
feed this 11Mbit/s clip into your 360, result, very blocky stuttering playback, now do exactly the same thing, and this time use 10Mbit/s, result perfect playback.
its the same on every HD source ,hence the upto 10Mbit/s above....for HD AVC inside MP4 360 playback.
OC you could try and convince MS to write a proper AVC/AAC decoder for the 360 that works to at least the same levels/channels as the PS3 Decoders.... and install it ASAP on a firmware update.
getting a 3rd party realtime "Re-quanting" piped FIFO app some day might be far easyer though, i dont know if you could reduce a high quality PS3 HD AVC Encode down to the likes of the mobile lower 720P HD AVC Hardware coming to market soon, and keep good quality though ? assuming OC they are as restricted in their bitrate playback as low as the 360 currently is...
G_M_C
5th February 2009, 21:09
I recently had the need to apply soft pulldown to an existing AVC stream (for testing a set-top box video decoder). I tried Trahald's h264info application, but it crashed on every stream I tried, and he appears to have abandoned it in any case, as it was apparently intended only for HD-DVD transcoding.
So I wrote my own and now I have a reliable infrastructure for restreaming AVC streams. I'm wondering if there are any remaining needs for restreaming now that HD-DVD is dead. For example, revising the profile/level, HRD/VCL info, etc. If so, I can add the required features and release my application. Your input in this regard will be appreciated.
Revising HRD might be interesting for making a raw stream Blu-ray compatible? But afaik, for correct NAL-HRD's the other stream elements have to be known too, so it might not be your/this app that is the best candidate, but the muxer ... (but tsMuxeR doesnt place them, just copies them over when found).
shroomM
6th February 2009, 07:34
I, too, am not sure if this would be possible, but what about setting the SAR without reencoding the stream?
I usually encode a movie in .264 file, and then mux it in a transport stream. If I forget to add --sar (or input the wrong one) at encoding time, I have to reencode the movie. Could this be avoided?
I know there was a program capable of changing this for XviD, but haven't yet come accross one for AVC streams.
ajp_anton
6th February 2009, 13:51
mp4box can set the SAR.
leoenc
6th February 2009, 14:15
mp4box can set the SAR.
Yes but he said transport stream, not mp4.
This would be a very nice feature, to set the SAR in the x264 raw stream without re-encoding.
Also, what about changing the interlaced flags (and tff/bff)? would that be possible too?
ajp_anton
6th February 2009, 14:46
Yes but he said transport stream, not mp4.
This would be a very nice feature, to set the SAR in the x264 raw stream without re-encoding.
Also, what about changing the interlaced flags (and tff/bff)? would that be possible too?Who's saying he has to keep it in .mp4? Just mux it once with mp4box while setting the SAR and then the stream will have that. Then mux it into something else.
But yes, a way to do it quickly without remuxing it multiple times would be nice.
shroomM
8th February 2009, 21:05
Didn't know mp4box can do that, thanks for the info. Though a bit of a lenghty process, it's still better than reencoding the whole movie :)
NorthPole
12th February 2009, 16:17
This might sound like a crazy suggestion but I often cap 720HD Mpeg2 ATSC and re-encode the video to h264. I convert the frame rate from 59.94 to 23.976 because most of the content was originally at ~ 24 fps. I find that during the various framerate conversions I get jerkiness on some semi-hd content. I have tried to just half the frame rate to 29.97, encode and then double it back after so that I can author to blu-ray. I haven't found anything yet that can double it correctly so that scenarist can accept it. I tried h264info without any luck. Anyway just a suggestion.
Edit: I haven't tried this in a while but I think scenarist actually accepted it but the playback it produced was not good at all... (Jumpy and not correct framerate)
SeeMoreDigital
12th February 2009, 18:01
I recently had the need to apply soft pulldown to an existing AVC stream (for testing a set-top box video decoder)..... So I wrote my own and now I have a reliable infrastructure for restreaming AVC streamsI like the idea of such an application.
I take it your application is designed to work with elementary streams only, much like DGPulldown? Which I guess you'll have re-name to DGMPGPulldown ;)
Cheers
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.