I recently came across Xmedia Recode as a program that can upscale ( it's a necessity for some video editing I occasionally do to correct small errors where the resolution is off),
it's a great program, very versatile, but the issue I have is that the program insists on encoding a files framerate as *variable* and not constant as it has been input, I have looked thru the particulars of the program and cannot find a specific tab that allows the user to choose between constant & variable so I assume that the program by default goes to variable.
MediaInfo displays the work, I have to believe that MeidaInfo is correct as it also displays the work I do with Handbrake accurately and that work is always in constant mode as that is what I select,
is there a setting somewhere in the program that can be altered to correct this?
here is a sample of what I am getting with XMedia
ID : 1 (0x1)
Complete name : G:\TEMP\Enterprise S04E05 Cold Station 12.ts
Format : MPEG-TS
File size : 861 MiB
Duration : 7mn 28s
Overall bit rate mode : Variable
Overall bit rate : 16.1 Mbps
ID : 256 (0x100)
Menu ID : 1 (0x1)
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.1
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : 27
Duration : 7mn 28s
Bit rate mode : Variable
Bit rate : 15.0 Mbps
Maximum bit rate : 24.0 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate mode : Variable
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Stream size : 819 MiB (95%)
Writing library : x264 core 142 r2431
+ Reply to Thread
Results 1 to 11 of 11
I've never been a fan of Xmedia Recode. Last time I played with it I found it sometimes changed the aspect ratio a tiny bit for no apparent reason. But anyway.... if HandBrake won't let you upscale (it still doesn't?) I'm pretty sure Vidcoder will.
What's the output format? At one stage MediaInfo was reporting Handbrake's output as VFR if it was MP4 but not for MKV. There were several threads about it. I can't remember if there was a reason found or whether it still does the same thing. There was one explanation for it here. http://forum.doom9.org/showthread.php?p=1658437#post1658437
If your output is MP4 try opening an MP4 with MKVMergeGUI, resaving it as an MKV and then see what MediaInfo has to say about it.
Or there's lots of other GUI's that can upscale. I use MeGUI myself (maybe a bit of a learning curve). It'll upscale, although for reasons I'll never understand the ability is disabled by default. It's easy enough to enable though.
Last edited by hello_hello; 14th Aug 2014 at 14:21. Reason: spelling
Any reason for selecting MPEG TS as format?
I made a test and MPEG TS gives variable frame rates. I almost exclusively use MKV/h.264/AC3 which give constant framerate. It can always me re-muxed with tsMuxerGUI (and a look in XMediaRecodeīs mpegts.ini doesn't reveal anything to me why it should be varable framerate). And as said Vidcoder allows upscaling.
No bias against an MKV file, I find that VideoRedo likes TS files more readily than MKV, I can only assume that it's because the PID's are consistently readable in a TS moreso than an MKV, many times I've tried to enter an MKV only to have the program display the *error* PID's not found, remux that same file into a TS and low & behold Redo opens the file.
Last edited by 55trucker; 13th Aug 2014 at 14:49.
MediaInfo.... one which I'm not yet aware of?
When MediaInfo was reporting VFR for Handbrake's MP4 output, but CFR for the same video when it was remuxed as MKV, it wasn't displaying the information accurately in both cases. You can pretty much take anything MediaInfo displays with a grain of salt. I'm not saying it's useless, just that there's lots of ways it can get things wrong, and for some things it does a lot of rounding for display in the GUI. Aspect ratios...
Sometimes MediaInfo gets it's information from what's already saved to the file in question. That's not always correct. Or it reads the wrong information. For some AAC audio in MP4s it doesn't always get the number of channels correct. Remux the same audio as an MKV and it does.
It's just the way mediainfo reads the file. The video will be CFR
If you want mediainfo to not say "variable", you can use --force-cfr, and it will change the fixed_frame_rate flag in the timing info VUI parameters (basically there is a flag in the header that mediainfo is reading, this doesn't necessarily have anything to do with the file actually being VFR or not)
For ffmpeg libx264 which xmedia recode uses, you need to edit the command line or if it uses an ini file you need to add -x264opts force-cfr
handbrake to encode & mux to MP4, I was always under the impression that MP4 is/was based on the apple quicktime format, never using apple for anything I've not touched on it at all,
what you mentioned on the AAC issue I've come across that as well, finding sporting event files that have 6 ch audio that were encoded to MP4 (AAC) caused MediaInfo to only see the default 2ch stereo front channels & not see the rest. Not realizing what the problem was I had assumed that there was some sort of corruption in the file header that prevented the 6 chs from being *seen*.
I tried vidcoder, didn't know it is an offshoot of Handbrake, it seems to be built on the back of handbrake, but it did correctly re-encode the file I am working on & corrected the resolution from 1912x1080 to 1920x1080 & did so in a constant framerate,
all of this is so I can join together some mini arc episodes of a series I take an interest in, couldn't do so as the independent episodes were not encoded exactly the same and wouldn't join together.
I don't use xmedia recode, but I took a quick look and it doesn't seem to have a box where you can add custom commandline settings. If you can find one (several other GUI's have this ability), then it would be easy
It's not the .dll you need to open or edit. That's just the library. It uses .ini files for the configuration - those are the settings passed to the encoder (look in the format folder, and the one you're using is "mpegts.ini" or "m2ts.ini" depending on which one you chose in the GUI, and you can open it with any text editor like notepad), but the problem is it's not quite the same as x264 or ffmpeg libx264 switches. The author slightly changed the names and syntax of some of the switches, so there is no guarentee adding "V3force-cfr" (or some variant) will get passed
Here are the facts: if you encode with ffmpeg libx264 using a transport stream container, mediainfo will always say "variable frame rate" (even though it isn't) unless you specifically put "-x264opts force-cfr" . If you are using x264CLI, the equivalent switch is "--force-cfr"
I don't know how to translate that into the ini files, because the author slightly modified the offical syntax/switches. You might be better off using another GUI or commandline directly if this really bothers you , or try editing the ini and doing some tests. It's going to be in the V3 section because that's where x264 settings are
Last edited by poisondeathray; 18th Aug 2014 at 17:13.
Well, here it is mid October, I put this down for a while mainly because I was getting somewhat frustrated with the program & also the program author *Sebastien Dorfler* seeing as he didn't want to reply to information requests courtesy of his website.
I have finally found out the answer to my original question...how does one get the H.264 encoder to encode the framerate in a *constant* manner & not variable..
answer is...one HAS to turn on the *zero latency* function or the encoder defaults to *variable* framerate.
It's too bad that there isn't a user manual included with the program & the lack of input from the author doesn't help either, but now I know, and if anyone else is interested now you know as well.
I still find it to be a useful program, I do make use of the video fade-out filter when editing & joining together various series episodes that are mini-arcs and it works quite well.
I started using Vidcoder as well, thx for pointing me in that direction.