Log in

View Full Version : Hybrid: Input -> x264/x265/Xvid/VP8/VP9


Pages : 1 2 [3] 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78

Riki
29th March 2010, 20:25
Ill send you a PM with a test file :)

Selur
29th March 2010, 20:27
And a small (&short) step-by-step 'guide' to reproduce it would be nice. ;)

Riki
29th March 2010, 20:45
Ok nevermind, i think I remember the problem and solution from last time. Its a situation where when you downsample audio from 44,100 to 22,500 it cuts some of it off. If I leave it at 44,100 its fine. Ill make sure.

Selur
30th March 2010, 08:50
does anyone have a sample of:
1. a vfr mp4 file
2. the timecode file in mp4 format (belonging to 1.)
3. the timecode file in matroska v2 (belonging to 1.)
wanted to include the possibility to convert between 2. and 3. but got no sample and tc2mp4 doesn't help me.

I just don't understand the nhml format. :(

CpT
31st March 2010, 07:30
Lovin hybrid thus far man gj!

I do have a small request though. Is it possible to have the tags auto added every time? Even just the container tag would be very helpful ;)

-To answer your question I don't have a vfr mp4 file. sry.

Selur
31st March 2010, 07:35
I could add an option automatically add the container-tags, assuming they are present and a container, which supports them (no raw or m2ts output), is created. Got a bunch of (real live, offline) stuff to take care of before, but shouldn't be to hard to add. (give me a few days)

Cu Selur

CpT
31st March 2010, 15:55
Sounds good, I'm in no hurry m8, take your time :thanks:

Selur
1st April 2010, 15:21
Dropped the timecode v2 conversion for mp4 since I don't want to use tc2mp4 and I can't find enough (for me understandable) infos on how to do a matroska v2 -> nhml timecode conversion, so no timecode support for .mp4 for the time being. :)

Selur
6th April 2010, 06:39
Hybrid ver.100406

*changed*
- on interlaced material autodeinterlacer will only select ivtc if mediainfo detected it to be telecine / a 3:2 Pulldown
- audio language tags support for m2ts output
- activate and set vui color prime, transfer and color matrix to bt709 on hardware restriction blu-ray (this will only set the flags and won't do any color space transformations that might be recommend)
- adjusted presets
- some code cleanup (hope I didn't break anything)
- added timecode input/output option (side note: output option will only work properly with mkv output since I don't know how to convert matroska timecode v2 to nhml timecode files)

*fixed*
- some audio&subtitleTags problems
- stop crash on: no info found

*added*
- 'Add container tags on job creation' (will create a tag entry if name, genre, comments or cover isn't empty)

(you need to enable Misc in the Main-Tab to enable the Misc-Tab)
Reset Defaults in Misc-Tab on first start

-> updated links in 1st post

zygo
13th April 2010, 10:41
gday selur

a quick bug for u.
in the misc tab when you go to change the paths to programs (x264 for example), the "all files" filter is set to "*.*" which, on linux, makes x264 invisible.
there is no way to enter the path manually or get rid of the "*.*" filter.

using hybrid 100406 via tightvncserver & fluxbox on an ubuntu linux 9.10 headless server

also, have noticed if i select an iso file (dvd rip) as the source it doesnt pickup the chapters, yet if i mount it first and select it as a dvd folder it does???

cheers :)

zygo

Selur
13th April 2010, 10:51
Will fix the program path thing for linux. (if you post what linux version you use 32/64bit I'll send you a fixed version for testing) :)

About the iso input: I never intended for Hybrid to support .iso files as input. :)
Loading an iso file shouldn't initiate all the dvd-input analyse methods and as such not get all the infos from the source. I'm surprised that this is the only problem you stumbled upon when feeding Hybrid with an .iso file. :)

zygo
13th April 2010, 13:29
im using 32bit linux

yeah, the iso worked the other day (apart from chapters) but since then ive "played" a bit with the system and now (i just checked to confirm) it only picks up the audio track :(
(i know it picked up the video track b4 because i was playing with par & cropping b4 i realised there was no chapters)

cheers

zygo

zygo
13th April 2010, 14:57
gday selur

test version now works for picking up linux binaries. 1 thing u might change tho is if you open up the selection window for a path/binary that has already been entered & then u "cancel" the window, the original path/binary is not retained (clears the entry)

cheers

zygo

Selur
13th April 2010, 15:01
Yup, that was intended since I needed it for testing and never changed the behavior, shouldn't be hard to change so will probably change it later today and release a new version tomorrow. :)

Riki
13th April 2010, 18:51
Is anyone having a problem with changing the framerate of a video? I just grabbed the latest and everything I encode goes to 30fps. Im trying to encode to 10fps.

Selur
13th April 2010, 19:25
Hmm,.. definitely a bug and I know where it is and I even how I created the bug it's a bit tricky to fix. Will fix it tomorrow. :)

Riki
13th April 2010, 19:27
Ahh great, I was hoping I wasnt going crazy haha. :)

Selur
13th April 2010, 19:29
Nope, broke it when I fixed a deinterlacing frame count calculation bug because I overlooked the connection to the force frame rate method. ;)

Selur
14th April 2010, 09:00
Hybrid ver.100414

*fixed*
- scale output frame rate
- use * instead of *.* as filter when selecting program paths under linux
- subtitles asynch when framerate changed due to deinterlace/ivtc
- Chapter EndTime not correctly shown after dvd input load
- dts audio detected as dts-hd

*changed*
- don't set empty program path
- set he-aac signaling if neroaac + auto + quality <= 0.3

*adjusted*
- '--key-min' minimum and default value to 0 (= auto) requires x264 15f5e7ef2d0bd8196b0345dc8fb568c225b22b12 and later

*updated*
- windows 32bit package

(you need to enable Misc in the Main-Tab to enable the Misc-Tab)
Reset Defaults in Misc-Tab on first start

zygo
14th April 2010, 11:59
gday selur

is there a way to restart a job in the queue that has failed at the point it failed? eg. dvd source has converted audio... has converted video.... mp4box failed to mux (for reasons i havent discovered yet).

i would like to avoid running the 1st 2 stages again (many hours) and just restart at the failed muxing when i work out what went wrong.

also, is it possible to have hybrid restart, should it get killed for some reason, and it picks up the queue that existed when it got killed??

cheers :)

zygo

Selur
14th April 2010, 12:05
Nope, atm. hybrid does neither save the current queue nor can it restart an aborted queue.
About the muxing:
The files created up to the point where Hybrid aborted should be in the Temp-Folder Hybrid uses, so you should be able to just feed it with the infos and set audio&video to direct stream copy and just create a new muxing job.
Atm I would guess that one of the files ment to be muxed wasn't created properly and so the muxing stopped, but without additional infos (see first post) it's just a guess. :)

Tadream
15th April 2010, 16:26
Excellent piece of software.
I've converted a big m2ts to a smaller one to fit on DVD5. The picture was still great.
Too bad it just takes so long to encode but thats got nothing to do with your tool.
I have one question (maybe it's been already asked but I couldn't find it), is there a way to pause an encode?
I noticed a postpone button but it didn't do anything (probably because I only had one job in it?).

Selur
15th April 2010, 16:43
Yup, postpone is to postpone a complete job during in the job handling queue so that it will be skipped. :)
An there's no way to pause an encode, I could add a 'postpone' option for subjobs which would allow to process the subjobs of a specific job to a specific point. (it's bit tricky to add such an option, since I never intended it, if a bunch of people say this is a nice feature I could spend some time thinking about how to implement it :))

Pausing an encoding job during it's processing isn't possible since none of the tools used in the background support it and the only way to do this without the tools especially supporting this would probably include a bunch of heavy memory dumping and would definitely need admin privileges. Don't think this will ever be possible with Hybrid, since it would require something like Windows "hibernate"-mode for a part of the system.
If you just want to 'shutdown' your PC and restart it later, due to the noise the pc makes or something like that, sending windows into hibernate-mode should do the trick.

Cu Selur

Tadream
15th April 2010, 19:43
Thanks for the reply.
There's a pause button in Handbrake and I believe with h264enc you can pause with ctrl+z.
It's not essential though, I just thought of it this afternoon. I wanted to start an encode but I also remembered I wanted to watch a movie tonight (streaming from my laptop) so it would be convenient to pause the encode, watch the movie and then continue the encode.
I remember pause with Handbrake and then put my laptop in suspend, take it with me and later that day start the encode again. But your tool is imo much better then Handbrake.
(using Ubuntu Karmic 64bit and Hybrid 130410 64 bit)

Selur
15th April 2010, 19:47
I normally watch movies while encoding. ;)
Hmm,... linux ;) will look at h264enc how they pause the encoding and see if I can integrate it into Hybrid. (and if it's only possible on Linux or if it's also possible under windows)

zygo
16th April 2010, 02:46
selur
re. pausing so you can do something else while encoding.
not sure if its possible but couldnt you lower the process priority so eveything else would work normally & x264 etc. would just slow down if system is needed for something else? (sorry if this is a stupid question)

cheers

zygo

Selur
16th April 2010, 07:55
I assumed linux would lower the process priority by itself,... I'll do some testing. ;)
-> send you a PM

zygo
17th April 2010, 04:51
gday selur

it would seem that my previous muxing problem is a problem with the chapter file (see attached).
i can load up the video & audio files but when i try to load the chapter file hybrid says "malformed entry CHAPTER01" and will not load it.
without it, mp4box muxes no problems except there is no way to set the par if the video is "passthru" (video was not originally encoded 1:1 so i dont know if i have to set par/dar when muxing?)

cheers

zygo

Selur
17th April 2010, 09:25
don't attach stuff, since attached stuff needs approval of a moderator -> best upload it somewhere and send me a pm with a link

mp4box muxes no problems except there is no way to set the par if the video is "passthru" (video was not originally encoded 1:1 so i dont know if i have to set par/dar when muxing?)
I'll adress this once the 'malformed entry CHAPTER01' is fixed.

Cu Selur

Selur
23rd April 2010, 18:14
Does any one care about an option to really pause encoding? (could add an option to pause processing; if you close Hybrid pausing will be aborted and all data will be lost)

Cu Selur

Brazil2
23rd April 2010, 19:53
Does any one care about an option to really pause encoding? (could add an option to pause processing; if you close Hybrid pausing will be aborted and all data will be lost)
That would be VERY nice indeed!
Yes please, just do it! :D

Selur
24th April 2010, 11:06
Will release a version with pause/resume capability later today.
I even think, under Linux, it might be possible to pause, close Hybrid, open Hybrid and resume in a future version, but I'll have to do some googling about checkpoint software solutions on Linux and Windows.
-> nope definitely needs kernel support to work properly and judging from current development this is far from here :(, so there'll only be a 'pause' while Hybrid is running.

Selur
24th April 2010, 19:51
Hybrid ver.100424

*added*
- option to overwrite frame rate and pixel aspect ratio on passthrough (only applicable when remuxing)
- 'Pause/Resume'-processing option (will pause the whole current queue; pause for single jobs will come once I'm sure this works ;))
- 'open gop'-option (a x264 build with open-gop patch included is needed for this)

*updated*
- windows 32bit package

(you need to enable Misc in the Main-Tab to enable the Misc-Tab)
Reset Defaults in Misc-Tab on first start

-> updated links in 1st post

Selur
25th April 2010, 13:36
*update*
switched x264 version in windows package to a version without the open-gop and x264_filtering-patch since the later requires the input resolution to be specified by "--input-res <intxint>" and doesn't support the 'old'-way (-o output input widthxheight) any more.

Selur
3rd May 2010, 14:42
Hybrid ver.100503

*fixed*
- crash on splitting

*updated*
- windows 32bit package

(you need to enable Misc in the Main-Tab to enable the Misc-Tab)
Reset Defaults in Misc-Tab on first start

-> updated links in 1st post

Selur
5th May 2010, 15:49
Current mencoder used in hybrid needs: http://oss.netfarm.it/mplayer/misc/libfaac-1.28.7z to be able to use faac.

Selur
6th May 2010, 13:28
Hybrid ver.100506

*removed*
- ogg vorbis encoding support since neither mencoder nor ffmpeg can be used properly for encoding

*added*
- workaround for mp4box aborting when split size was greater than output size

*updated*
- windows 32bit package (added libfaac.dll otherwise aac encoding without neroaacenc didn't work)

(you need to enable Misc in the Main-Tab to enable the Misc-Tab)
Reset Defaults in Misc-Tab on first start

-> updated links in 1st post

Changelog auf Deutsch:

*entfernt*
- ogg vorbis encoding support, da weder mencode noch ffmpeg ordentlich genutzt werden können zum Encoden

*hinzugefügt*
- Woraround da mp4box abbricht wenn man eine Teilungsgröße angab, die Ausgabe aber diese nie erreichte

*aktualisiert*
- windows 32bit package (libfaac.dll hinzugefügt, da das aac encoden ohne neroaacenc sonst nicht geht)

(um das Misc Register zu sehen muss man im Main-Register, 'Misc' aktivieren)
'Reset Defaults' beim ersten Start (im Misc-Register)

buzzqw
6th May 2010, 15:56
oggenc allow stdin input... what about allow using it ?

BHH

Selur
6th May 2010, 16:00
I could include ogg vorbis support via oggenc, but since I never got any feedback regarding anyone of using ogg vorbis I'm not sure if I want to add another tool. ;)
But if at least two people say they will use it (and report if it's broken) I sure can implement it. (should be quite similar to the code I use for neroaac, so probably a bit copy&paste, checking how to use oggenc and writing some listeners to show progress&co)

Cu Selur

Selur
7th May 2010, 13:15
Had a look at oggenc and even implemented support for it, problem is: There's no progress indication aside from the time elapsed since oggenc was started.
If it would show the number of seconds processed I could simple calculate the status in percent to show as progress indication. -> when oggenc adds a progress indicator I'll add support for it. :)

Cu Selur

J_Darnley
8th May 2010, 00:59
It does print the percent done, at least for wav input.

Selur
8th May 2010, 01:03
yeah, but since 5.1 wav are kind of huge (temporary files) and it accepts input via a pipe I would prefer to use it via pipe. (decode with ffmpeg/mencoder -> filter with sox -> encode with oggenc/neroaacenc) ;)

J_Darnley
8th May 2010, 01:45
It does read wav from a pipe. (I didn't say a file). I did a simple test: cat temp.wav | oggenc2 - -o temp.ogg -q4

Selur
8th May 2010, 08:39
ffmpeg -threads 4 -v -10 -y -i "test_en_aid_128__09_37_15_718_01.ac3" -f sox - | sox -p -t wav - remix -m 1v0.2646,3v0.1870,4v0.1870,5v0.2291,6v0.1323 2v0.2646,3v0.1870,4v0.1870,5v-0.1323,6v-0.2291 norm | oggenc -r -b 196 -C 6 -R 48000 --ignorelength --utf8 -o "test_en_aid_128__09_37_15_718_02.ogg" -
and
ffmpeg -v -10 -threads 4 -i "test_en_aid_128__09_38_42_868_01.ac3" -acodec pcm_s16le -ac 6 -ar 48000 -f wav - | oggenc -r -b 128 -C 6 -R 48000 --ignorelength --utf8 -o "test_en_aid_128__09_38_42_868_02.ogg" -
both don't show any progress besides time-elapsed here,...

J_Darnley
8th May 2010, 10:04
Well that's just wrong. You told oggenc to use raw input when it is wav so of course there is no progress. Are you really using oggenc version 1? You should be using oggenc2. You could also just use sox to encode.

Selur
8th May 2010, 10:08
I tested with:
a. oggenc that comes with vorbis-tools on current Ubuntu systems
b. oggenc2 provides by rarewares

Since I never used oggenc before, since I normally don't use ogg: if you know a way to tweak the command calls please speak up since 'Well that's just wrong.' doesn't really help. :)

J_Darnley
8th May 2010, 11:54
I must apologise. It seems that oggenc doesn't like the ffmpeg|sox|oggenc2 combination. It spits out errors and doesn't encode anything. So yes, if you are going to use oggenc then it looks like it will have to be raw input.

Selur
8th May 2010, 12:13
So no ogg support until I find a way to get some progress indication with oggenc or another way to create ogg vorbis content.
(made a feature request (https://trac.xiph.org/ticket/1696) over at xiph)

Cu Selur

Riki
11th May 2010, 18:03
Hi Selur. May I ask what to adjust in hybrid to get the most lossess conversion (and easiest to edit with a video editing program)? I did set CQ to Lossless but Im not sure if the colors were preserved and other stuff. Are there other settings I can adjust, or is there a profile I can look at?

The goal is lossless quality, yet fast playback/editing.

Selur
11th May 2010, 18:07
colors are always be yv12 (4:2:0), so if you input rgb you will lose some.
lossless + http://forum.doom9.org/showthread.php?p=1396455 is probably a good start