Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
15th February 2016, 06:47 | #22 | Link | |
Registered User
Join Date: Jan 2004
Location: Here, there and everywhere
Posts: 1,197
|
Quote:
http://forum.videohelp.com/threads/3...erial-in-h-264 No, the answer is not to deinterlace it, but to output the native full frames. Evidently ffms2 still has an issue with that interpretation...and yes, I do understand what that error message means. L-Smash doesn't have that issue, IIRC at least not the AVISynth version, and DGDecIM and DGDecNV definitely don't; they output perfectly indexed full frames with no artifacts. That's why I was asking for advice on how to install L-Smash for VapourSynth on Linux to see how it handles this material.
__________________
Nostalgia's not what it used to be Last edited by WorBry; 15th February 2016 at 07:50. |
|
15th February 2016, 07:19 | #23 | Link | |
Registered User
Join Date: Jan 2004
Location: Here, there and everywhere
Posts: 1,197
|
Quote:
http://forum.doom9.org/showthread.ph...15#post1571315
__________________
Nostalgia's not what it used to be |
|
15th February 2016, 10:39 | #24 | Link | |
I'm Siri
Join Date: Oct 2012
Location: void
Posts: 2,633
|
Quote:
it's lossless only because an appropriate conversion never really happened the secret of being lossless: the 4:2:0 vid got "reinterpreted" as 4:4:4 and the untouched data then gets "reinterpreted" back to 4:2:0 basically you can't do any further real processing before the vid got reinterpreted back to 4:2:0 you might think "reinterpret the binary of a double as int64_t and then do some algebraic calculations with it and then reinterpret it back to double" like, makes no sense and totally insane, but you're doing pretty much the same thing here.. anyways, the pointresize magic is the quality wise worst solution if there's ANY processing between the "to 4:4:4" and "back to 4:2:0" steps, just don't waste your time trying it, it's TOXIC if you wanna real quality solution here, just, one way ticket from 4:2:0 to 4:4:4 and make sure it never ever goes back Last edited by feisty2; 15th February 2016 at 10:44. |
|
15th February 2016, 13:17 | #25 | Link |
unsigned int
Join Date: Oct 2012
Location: 🇪🇺
Posts: 760
|
To get rid of the error message from the resizer:
Code:
clip = core.std.SetFrameProp(clip, prop="_FieldBased", intval=0) ffms2 thinks your video is interlaced, so it sets that frame property accordingly. For LWLibavSource you need these two: https://github.com/l-smash/l-smash https://github.com/VFR-maniac/L-SMASH-Works The first is an mp4 muxer/demuxer library (and maybe more), the second is the VapourSynth plugin.
__________________
Buy me a "coffee" and/or hire me to write code! |
15th February 2016, 14:36 | #26 | Link | |
Excessively jovial fellow
Join Date: Jun 2004
Location: rude
Posts: 1,100
|
Quote:
|
|
15th February 2016, 17:08 | #27 | Link | |||
Registered User
Join Date: Jan 2004
Location: Here, there and everywhere
Posts: 1,197
|
Quote:
Code:
clip = core.std.SetFrameProp(clip, prop="_FieldBased", intval=0) Without the SetFrameProp line: http://i.imgur.com/QEW45qV.jpg With the SetFrameProp line: http://i.imgur.com/vlUGO8C.jpg And just for comparison, here are the equivalent frame shots (i.e. the same frame number) using the AVISynth filters (all of the scripts generated in MeGUI with the Script Creator). Opened in VirtualDub. FFMS2 v2.22 : auto-selected FFVideoSource: http://i.imgur.com/i8BHIyE.jpg No artifacts in that particular frame, but same kind of blocky/mice-teeth artifacting occurs in other parts of the stream. L-Smash Works r804(20151030): autoselected LWLibavVideoSource: http://i.imgur.com/6GS1uz2.jpg No artifacts. Note, this is the same frame number as the FFMS2 frame-shots. DGDecIM: http://i.imgur.com/RyVorwL.jpg No artifacts. Note, this is the same frame number as the above frame shots. Clearly there's an issue with the way FFMS2 handles this type of material, and also the with indexing; despite declaring the same total number of frames in the test clip, FFMS2 (FFVideoSource) pulls up a different frame to L-Smash (LWLibavVideoSource) and DGDecIM when seeking to the same frame number. And I think I'm safe in saying that DGDecIM is frame-accurate. So, yes, the only option would be to try L-Smash. Thanks for the links: Quote:
Quote:
Thanks.
__________________
Nostalgia's not what it used to be Last edited by WorBry; 16th February 2016 at 04:42. |
|||
15th February 2016, 22:20 | #29 | Link | |
Registered User
Join Date: Jan 2004
Location: Here, there and everywhere
Posts: 1,197
|
Quote:
Code:
import vapoursynth as vs core = vs.get_core() clip = core.ffms2.Source("Path......./TestHFG10.mts", fpsnum=30000,fpsden=1001) clip = core.std.SetFrameProp(clip, prop="_FieldBased", intval=0) clip = core.resize.Point(clip, format=vs.RGB24, matrix_in_s="709", chromaloc_in_s="top_left") clip = core.std.ShufflePlanes(clip, planes=[1,2,0], colorfamily=vs.RGB) clip.set_output()
__________________
Nostalgia's not what it used to be |
|
16th February 2016, 06:48 | #30 | Link |
Registered User
Join Date: Jan 2004
Location: Here, there and everywhere
Posts: 1,197
|
Not wishing to double-post I thought my request for advice on installing L-Smash on Mint/Kubuntu might be better addressed in the main L-Smash Source thread, not least because a procedure is described there - which I am trying to apply:
http://forum.doom9.org/showthread.ph...21#post1757421
__________________
Nostalgia's not what it used to be Last edited by WorBry; 16th February 2016 at 06:51. |
16th February 2016, 07:40 | #31 | Link |
Excessively jovial fellow
Join Date: Jun 2004
Location: rude
Posts: 1,100
|
It is the same as assumeframebased(), it just didn't solve your problem. Which might be a ffms2 bug, especially considering that it works on Windows. What ffms2 version do you have?
As for VS plugins, second hit on Google for "vapoursynth plugins" provides this handy bit of documentation: http://www.vapoursynth.com/doc/autoloading.html In this case though you have to compile the plugin yourself first and I see you have some issues with that so that doesn't help at the moment. |
16th February 2016, 08:27 | #32 | Link | |
Registered User
Join Date: Jan 2004
Location: Here, there and everywhere
Posts: 1,197
|
Quote:
Yes, I know.
__________________
Nostalgia's not what it used to be |
|
16th February 2016, 16:30 | #33 | Link | ||
Registered User
Join Date: Jan 2004
Location: Here, there and everywhere
Posts: 1,197
|
Quote:
Quote:
__________________
Nostalgia's not what it used to be |
||
21st February 2016, 00:48 | #34 | Link | |
Registered User
Join Date: Jan 2004
Location: Here, there and everywhere
Posts: 1,197
|
Quote:
Just yesterday he updated the 'Extra Plugins' back to include L-Smash, but I found there was then a bug loading ffms2. In the dialogue that he ensued he asked me to compile ffms2 from https://github.com/FFMS/ffms2to see if worked. Which I did, as advised: Code:
sudo apt-get install pkg-config libavutil-dev libavformat-dev libavcodec-dev libswscale-dev libavresample-dev zlib1g-dev ./configure --enable-shared --disable-static make cp src/core/.libs/libffms2.so ffms2.so On the other hand I could not load these clips at all, or indeed any native AVCHD.mts clips from Canon and Panasonic camcorders, with LWLibavSource. Remuxing to mkv made no difference. But at least there is now a satisfactory option with ffms2.
__________________
Nostalgia's not what it used to be Last edited by WorBry; 21st February 2016 at 00:51. |
|
27th February 2016, 15:31 | #35 | Link | |
Registered User
Join Date: Jan 2004
Location: Here, there and everywhere
Posts: 1,197
|
Quote:
e.g. AssumeFrame() Code:
clip = core.std.SetFrameProp(clip, prop='_FieldBased', intval=0) clip = core.std.SetFrameProp(clip, prop='_Field', delete=True) What does the second line do?
__________________
Nostalgia's not what it used to be |
|
27th February 2016, 15:33 | #36 | Link |
Professional Code Monkey
Join Date: Jun 2003
Location: Kinnarps Chair
Posts: 2,555
|
Basically _Field is only set when a frame is made up of a single field (such as the output of separatefields). It simply makes no sense to have it set at the same time as _FieldBased. So it removes it.
__________________
VapourSynth - proving that scripting languages and video processing isn't dead yet |
Thread Tools | Search this Thread |
Display Modes | |
|
|