the original mpg file has, but after avidemux converted it to an mkv file, the vibration got more. by vibration, i mean this effect: consider the camera has been moving from left to right and vice versa maybe five times in a second, so that if an object is in the first frame as (x, y) of say (10,10) it's moved to (11,10) in the second frame, in (12, 10) in the 3rd frame, again in (11,10) in the 4th frame and back to (10,10) in the 5th frame. it happens repeatedly. ie. in the 6th frame, you see the object as (11,10) again.
sorry, i couldn't describe better. i don't know what you call this effect. but i need to eliminate it.
i thought avidemux should have a filter for this purpose, but i didn't find any.
+ Reply to Thread
Results 1 to 30 of 76
It's not clear from your description - can you post a video sample ? If a picture is worth a 1,000 words, a video is worth 10,000
Panning back & forth 5 times in a second is pretty extreme...
Did you mean single pixel value deviations for x coordinates ? or was that just an illustration ?
Maybe you're referring to motion blur ?
Maybe vibrations from CMOS rolling shutter ? (looks like wobbly jello)
Or maybe deinterlacing artifacts ?
Your description is not very clear, but, It sounds like you may have captured the video in the wrong field order. This causes an effect similar to what you describe, visible only on movement.
Easiest solution is to recapture the video, in the correct field order. Your capture software will hopefully have a setting for this.
thanks for replies
i'm not familiar with most of the technical words you said.
sure, tonight, after i'll go back to home, i will cut a portion of the video. you're right. it will describe better.
but for now, i'm sure that it's not an interlace issue. indeed it was a ts file received and saved by dreambox satellite receiver. then i applied quick stream fix of videoredo for future operations on the video not to lead to video/audio out of sync. by experience, for partially corrupted ts files, this is the best solution. then i use avidemux to convert the resulting mpg to mkv files. i also apply yadiff, crop and resize filters.
until now, after converting more than 1000 ts files by this method, this is the only file with this issue. when i watch the original video, i see that it also contains the vibration, maybe less, but exists. and i want to remove it.
ok, now i've uploaded the videos. mpg file is the source and mkv file is the destination. you may see that both have the vibration effect. let me know what you call it.
The horizontal shake is in your mpg file and your conversion has accentuated it be reducing 50 fields per second to 25 frames per second. You could use a filter like Stab() in AviSynth to get rid if it. After doing so the logo in the top left will bounce around:
Last edited by jagabo; 21st Oct 2015 at 18:48.
it's also a good idea to see what you think about my method of converting the source (ts file) into mkv. in this conversion, what i need is:
- keep sync of video with audio
- remove horizontal shake
- resize for a smaller result file, since the source has not much quality.
maybe avisynth may do all of these. maybe another method is better and more straightforward. avisynth for a newbie like me is a much complicated method, especially when it has no gui and i've to read documents to find how to handle it. avidemux is good for me, because all of these methods, but the horizontal shake are integrated into one user-friendly ui. is there for example a filter to be imported into avidemux and do the same as avisynth? or maybe there's another method which may be simpler and more straightforward? sure, i don't want to lose quality of work.
since i didn't get an answer to my last post, i tried to go on in the dark. i found avsproxy_gui.exe in the Avidemux 2.6 folder and ran it. i also found AvsPmod. i wrote a test script:
DirectShowSource(<the mkv file with the corruption>)
still with no parameter to see whether it works essentially. i introduced the avs file as Source Video File in the first page and click on Create Proxy button. it warns me and can't continue:
Sorry, it appears that the required FFmpegSource2 plugin (ffms2.dll) is not installed.
Please make sure the plugin is located in your Avisynth "Plugins" directory!
i could find ffms2.dll somewhere in the internet, but when i copy the file in the plugins folder, the error still persists.
what can i do?
i think i had to use DShowSource page. seems everything is now working unless AvsPmod as well as Avidemux prompts:
Script error: there is no function named "Stab"
this is while in Options/AviSynth function definition... i find Stab in User functions tab and AvsPmod autocomplete may recognize the function and lists its parameters.
There's a pretty big learning curve when you're starting with AviSynth. Some basic AviSynth info:
Some 3rd party filters:
Stab in particular:
Many of the filters you will want to use aren't included in a basic AviSynth installation. They were created by other individuals and need to be explicitly imported into your script or put in AviSynth's plugins folder so that they are automatically imported each time you use a script. Put Stab.avsi in AviSynth's plugins folder. Stab requires another 3rd part filter, DePan:
Put depan.dll in AviSynth's plugins folder. You might as well put depan.html (the documentation) there too.
You may not want to run all these filters but the script I used on your sample looked like:
import("C:\Program Files (x86)\AviSynth\plugins\TemporalDegrain.avs") Mpeg2Source("D:\Downloads\sample.d2v", CPU2="ooooxx", Info=3) QTGMC(preset="fast") SelectEven() Stab() dehalo_alpha(rx=3, ry=1) TemporalDegrain(SAD1=200, SAD2=150, Sigma=8) Spline36Resize(width/2, height) TurnLeft() nnedi3(dh=true) TurnRight() aWarpSharp(depth=5) Sharpen(0.2, 0.2) Crop(32,56,-10,-48) Spline36Resize(720,height)
The ffmpeg source filter can usually be used for MPEG 2 video too:
If you want to work with only the video you can use:
A = FFAudioSource(X) V = FFVideoSource(X) AudioDub(V, A)
It requires several other filters as indicated in the docs. You'll need to get all those other filters and install them too. As a simpler (and much faster) alternative to QTGMC() followed by SelectEven() you can try using TFM() on this source:
I used dehalo_alpha() to remove the severe over-sharpening halos:
Removing halos can sometimes damage the video quite a lot. Try using a less sharp resizer like BilinearResize() when you downscale instead of dehalo_alpha() and the sharp resizer Spline36Resize() and Sharpen().
TemporalDegrain() is a temporal noise reducer:
Be careful with noise reduction. Small, low contrast details will also be removed if the settings are too strong. And with temporal noise reduction you can end up with streaky artifacts and/or ghosting.
Crop(), Spline36Resize(), and Sharpen() are all included in the basic AviSynth package.
Of course, you don't have to use all these filters. Start with a simple sequence like:
Mpeg2Source("D:\Downloads\sample.d2v", CPU2="ooooxx", Info=3) TFM() Stab() Crop(32,56,-10,-48)
Fortunately, all the setup for each filter only has to be done once.
ok, i will do the process step by step by care. but please let me know about alternatives. especially adding filters to avidemux not to have to use any other tools with it.
then, please let me know whether all of these must be done on the input mpg file or on the final output mkv file?
I don't know much about using AviDemux to view/encode AviSynth scripts. I use VirtualDub to view the scripts (just open the AVS file as if it is a video with File -> Open Video File). You can use VirtualDub to encode the video too but I usually use the x264 command line encoder.
I would do all the filtering in AviSynth. Unless there's some filter in AviDemux that you need to use.
indeed i've no bias about avidemux. just found it after searching about a useful and handy tool once and am using it. it consists of many features i need, like accurate frame cut and many filters. maybe after examining avisynth i'll find it a useful and powerful utility. maybe now that i'm not familiar with it, it seems not to be so handy.
and a question; this process comprise re-encoding the mkv file to another mkv file. let me know whether this re-encoding causes loss of quality, even a bit or not?
ok, now i read your detailed professional comment. since i use avidemux filters for cropping, deinterlacing, resizing, etc. i just need Stab of avisynth and as you said i don't need a complex script. now let's concentrate on the second script which is simpler and it seems that it may do what i need.
first, let me know what is d2v, please. did you convert the source mpg file or the destination mkv file into a d2v file?
then, is Mpeg2Source capable to open the destination mkv file?
then, is it essentially better to operate on the destination mkv file or source mpg file? (asked b4)
then, what's CPU2="ooooxx"?! and what's Info, the last argument?
then, what's TFM?
then, i think i don't need the last line, crop. do it?
sorry for so much questions. i'm going to try to find the answers myself by investigation and will appreciate if you may help me as u did before.
i could create d2v file by DGIndex from mpg file and not mkv file.
now in avsproxy_gui DGDec(NV) section i loaded the d2v file and the proxy could start.
then it brought up the avidemux with the video automatically.
now when i encode it to mkv the resulting mkv file is the same as input. ie. it has the vibration effect.
i used this script:
Mpeg2Source("c:\temp\videohelp\10-08-12 - IRIBTV4.d2v", CPU2="ooooxx", Info=3)
Last edited by hamidi2; 25th Oct 2015 at 14:59.
Did you move the source file after creating the d2v file? You must leave the source in the same location. The d2v file is plain text. You can open and read it with Notepad or any other text editor.
The script opens the source video (Mpeg2Source(), deinterlaces it (TFM()), and deshakes the frames (Stab()).
wow thank you very much
now the AvsPmod shows the video and when i hit the play button plays it properly. i got also the logo vibrate instead of the whole video. about the logo, i may use some other filters like delogo in avidemux. i think i may use some additional line(s) for this in the same script. but i don't know what it is. and since avidemux may do this, i may go there.
now let me know please, how can i save the resulting video? i mean the video which this script has applied on.
and please let me know how is it possible to:
- cut (specify end frame)
in the script.
AviSynth scripts. VirtualDub, x264 CLI, HcGUI, etc.
oh, the audio is absent!
Mpeg2Source() only gives you the video. You can import the audio separately.
vid = Mpeg2Source(...) aud = AudioSource(...) AudioDub(vid,aud)
why the process should be designed so user unfriendly and complicated?!
i use this script:
Mpeg2Source("10-08-12 - IRIBTV4.d2v") TFM() Stab(range=1,dxmax=4,dymax=4) video = Mpeg2Source("10-08-12 - IRIBTV4.d2v") audio = FFAudioSource("10-08-12 - IRIBTV4.mpg", track=-1, cache=True, cachefile="", adjustdelay=-1, utf8=False, varprefix="") AudioDub(video, audio)