VideoHelp Forum




+ Reply to Thread
Page 1 of 2
1 2 LastLast
Results 1 to 30 of 33
  1. Member MJ Peg's Avatar
    Join Date
    Dec 2008
    Location
    United Kingdom
    Search Comp PM
    (a follow-on from https://forum.videohelp.com/topic373493.html )

    I'd like to join a load of mts files easily, so that I can load a long sequence into VirtualDub and apply deshake in one easy (long!) hit without having to process each clip individually. I'll split back into clips in the editor later.
    Is there a way to do this IN FILE NAME ORDER?

    TsRemux only works on one file at a time as far as I can see, so I don't know why it was suggested in another thread.

    TsMuxeR works with multiple files but only takes one file at a time for selection, either by drag-n-drop or its own File Open dialog. If it allowed multiple selection I'd be all set, but alas, no.

    TSSplitter did join to a huge file of joined clips (and can be sorted into name order!) but it isn't 100% successful. MPC player only plays the first clip. VLC can access the whole thing but glitches. VideoPad loads the whole thing, but VirtualDub only loads the first clip's worth.

    Is there a joining utility that will do what I need?

    And incidentally (if there's a way that works but not in the right order) is there a Windows way to drag and drop a number of files in sorted order or are we stuck with the off-the-disk order that Windows uses?

    Thanks 8)
    Quote Quote  
  2. Member MJ Peg's Avatar
    Join Date
    Dec 2008
    Location
    United Kingdom
    Search Comp PM
    And MTSFileJoiner ( sites.google.com/site/mtsfilejoiner/Home ) almost worked... it's in order and VirtualDub plays the whole file... but it gets upset at the joins and freezes playback, then catches up - losing footage in the meantime while it was out of synch.
    Quote Quote  
  3. Since you're processing it in VirtualDub, you can just write an AVS script that joins all the sources, then load that in Vdub.

    If it's not too many files, you can do something like

    DirectShowSource("c:\source\file01.mts")++\
    DirectShowSource("c:\source\file02.mts")++\
    DirectShowSource("c:\source\file03.mts")
    An alternative is the SegmentedDirectShowSource function, which auto-reads filenames in the form filename.xx.ext.
    Quote Quote  
  4. Member MJ Peg's Avatar
    Join Date
    Dec 2008
    Location
    United Kingdom
    Search Comp PM
    Thanks, but I really don't want to fadge about with scripts - if it's not point-n-click simple then the current state of video software is a sorely lamentable mess!

    Having said that, if I really don't get a solution soon then I might just have to look into this script malarkey ... *sigh*
    Quote Quote  
  5. Member MJ Peg's Avatar
    Join Date
    Dec 2008
    Location
    United Kingdom
    Search Comp PM
    OK OK I have warmed to the idea of using scripting...

    .. is there a utility anywhere I could use that would generate the right script (in filename order) if I drag-n-dropped a bunch of files onto it? Is http://software.itstime.nl/freeware/avisynthbatchscripter/ the way to go?

    Thanks
    Quote Quote  
  6. It's just exactly those lines I quoted for you. Install Avisynth, copy-paste that into a text file, replace the filenames with the correct ones, save as .AVS and you're set to load that into VirtualDub. Give that a try before you fadge around with a batch scripting program (which may be a good idea, but this particular script is so simple anyway.)
    Quote Quote  
  7. Another option is to use multiavchd.

    Just pretend you are authoring a disk and take the joined .mts file in the streams folder as your import into vdub or whatever application

    It works for proper AVCHD camcorder clips, but IIRC, you are using AVCHD lite with the frame dupes, so I don't know if it will work for you
    Quote Quote  
  8. MTS Joiner, a frontend for tsmuxer.
    Quote Quote  
  9. Member MJ Peg's Avatar
    Join Date
    Dec 2008
    Location
    United Kingdom
    Search Comp PM
    c.h. thanks, but I go out and shoot a ton of clips (often 60+) and then make a video slideshow sort of thing from it all... messing about with 100s of filenames in a script would be more than I could bear, so some sort of drag-n-drop widget is required

    MTS Joiner -> tsmuxer looks good, presuming the tsmuxer output would be more successful than tssplitter's attempt - is that only as part of vob2mpg or is there a standalone version?

    Alternatively, I shall look into scripts, as they're not quite as scary as I thought, having had a quick look at the wiki.

    I would need either :
    1) a script to use something to join mts files together for a single deshake session in VirtualDub
    2) or a script to make VirtualDub deshake a batch of files in one go on its own, creating multiple deshaken AVI files, one per MTS

    No idea if 2) is possible, but that would be ideal to save me splitting up one large file again in the editor.

    Cheers
    Quote Quote  
  10. Member MJ Peg's Avatar
    Join Date
    Dec 2008
    Location
    United Kingdom
    Search Comp PM
    While waiting to see if Vob2mpg Pro will be great, I'm still keen to have a totally free scripted solution that I can recommend to people on the AVCHD Lite group.

    I've googled and surfed and read wikis and FAQ-ed myself until my eyes bled but I'm still none the wiser! Is there a forum anywhere likely to be able to help with 1) or 2) on the previous comment?

    It could take an age to become self-sufficient on scripting and I just want the one simple task... please don't make me learn tons of stuff I don't want to know just to hammer home one pesky nail... !

    thanks
    Quote Quote  
  11. Member MJ Peg's Avatar
    Join Date
    Dec 2008
    Location
    United Kingdom
    Search Comp PM
    Originally Posted by creamyhorror
    Since you're processing it in VirtualDub, you can just write an AVS script that joins all the sources, then load that in Vdub.

    If it's not too many files, you can do something like

    DirectShowSource("c:\source\file01.mts")++\
    DirectShowSource("c:\source\file02.mts")++\
    DirectShowSource("c:\source\file03.mts")
    OK I've installed the prog and written an AVS script file with 3 clips, and it loads OK (slowly!) but I get 6 icons appearing in the sys tray : an FFDSHOW icon and 2 HAALI icons for EACH clip, so I'm worried that 100 clips might blow a fuse
    And it's still not exactly drag-n-drop
    Quote Quote  
  12. Member MJ Peg's Avatar
    Join Date
    Dec 2008
    Location
    United Kingdom
    Search Comp PM
    Just tried a scipt with 4 files... it seems to all work, but the final deshaked result plays back at 2x speed despite me treating it the same as I do for individual MTS files, and it glitches, freezes, and repeats bits around the clip joins!

    I'd rather use approach 2) if possible - automate VirtualDub in a hands-off way so that I can drag-n-drop a bunch of files onto something and let it do its thing... and come back some time later to find a bunch of deshaked AVIs waiting for me. Can such a thing (with a 2 pass filter) be done....?
    Quote Quote  
  13. Did you try multiavchd? Even if it doesn't work for avchd lite properly, the author is very dilligent and will probably fix/update it if feedback is given.

    I wrote about avchd lite in another thread. Directshowsource will not work properly show the frame repeats, only ffmpegsource2 works properly

    https://forum.videohelp.com/topic372515.html#2001159

    If it joins properly, with multiavchd, you can use ffmpegsource2 to index the 1 big clip without dupes. Otherwise you will have to specify the joining in the script. Even if it joins properly, you will still get the frame repeats, unless you use ffmpegsource2 (or until decoders & splitters have been updated)
    Quote Quote  
  14. Member MJ Peg's Avatar
    Join Date
    Dec 2008
    Location
    United Kingdom
    Search Comp PM
    Thanks... How would multiavchd help, if it is all about producing discs with "simple menu structure" etc...?

    ffmpegsource2 looks promising, I've downloaded from http://code.google.com/p/ffmpegsource/ and put it into the plugins folder, and this script has loaded, with proper 25 fps frame rate too

    FFMpegSource2("00634.MTS")++\
    FFMpegSource2("00635.MTS")++\
    FFMpegSource2("00636.MTS")++\
    FFMpegSource2("00637.MTS")

    It's deshaking right now, without tons of icons in the sys tray, so it's looking hopeful - I'll comment shortly whether it's turned out well!
    Cheers
    Quote Quote  
  15. Member MJ Peg's Avatar
    Join Date
    Dec 2008
    Location
    United Kingdom
    Search Comp PM
    Correct speed, perfect joins... 100% brilliant....
    ... but no sound!
    Quote Quote  
  16. Originally Posted by MJ Peg
    Thanks... How would multiavchd help, if it is all about producing discs with "simple menu structure" etc...?
    I answered that in an earlier post above, you probably missed it. You take the joined transport stream from the folder as input. It will make 1 big .mts or .mt2s for you, upto ~4GB then split them (depending on the settings used). But this is easier than specifying ffmpegsource2()++ffmpegsource2() a few times... because you would only have to use ffmpegsource2() once

    Also if you wanted audio joined and passed thru in the script, you have to use atrack=-1

    ffmpegsource2("0001.mts",atrack=-1) ++ ffmpegsource2("0002.mts",atrack=-1) ++ etc...
    Quote Quote  
  17. Member MJ Peg's Avatar
    Join Date
    Dec 2008
    Location
    United Kingdom
    Search Comp PM
    I see, yes.. thanks - but I think I've got something usable now, with the atrack=-1 bit, cheers

    I've made a batch file I can use : deshake.bat
    Code:
    @echo off
    if exist test.avs del test.avs
    for %%p in (*.mts) do echo FFMpegSource2("%%p",atrack=-1)++\ >> test.avs
    pause
    Luckily the FOR command automatically sorts into filename order, so all I'll have to do is create a sub directory for the clips I want, copy/move in them in, and run the batch file... then drag-n-drop the avs file onto VirtualDub and set the deshake running. It will need a nudge to set pass 2 going, and another to save, but that's fair enough for now.

    So that's the One Big File approach sorted - I'd still love to know if the Many Deshaken Files Set Running Come Back Later approach can be done

    Very many thanks
    Quote Quote  
  18. Member MJ Peg's Avatar
    Join Date
    Dec 2008
    Location
    United Kingdom
    Search Comp PM
    ah.. spoke too soon... the audio is out of sync after deshaking!!

    Is there an easy way to delay the audio by 1200ms?
    Quote Quote  
  19. In avisynth,

    FFMpegSource2()++FFMpegSource2()++....
    DelayAudio(1.2)

    I would always preview your script e.g. in a mediaplayer first, before wasting time deshaking or encoding etc... or are you saying the script was fine, and only desync after deshaking?
    Quote Quote  
  20. Some camcorders don't have "flush ends". What I mean is the audio starts a bit later than the video

    vvvv
    _aaaa

    And some programs will join it like that instead of padding the video, or removing the audio silence, so you get an accumulated desync. If your video is like this, you can use "joints" (great name by donald graft btw...I wonder what he does in his free time )
    http://forum.doom9.org/showthread.php?t=149441

    or process joining through eac3to to get rid of the audio gaps

    If it were up to me, I would try multiavchd first, then use ffmpegsource2() on the joined .mts file
    Quote Quote  
  21. Member MJ Peg's Avatar
    Join Date
    Dec 2008
    Location
    United Kingdom
    Search Comp PM
    No, it's not happy with 49 MTS files! It falls over with an error ...

    Avisynth Open Failure:
    FFAudioSource: Audio track contains no audio frames
    (FFMS2.avsi, line 38 )

    and my avs file/path and last line number, no matter whether I delete a few from the end or middle, or near the start because there are only 3 of the .ffindex files created, for the first 3 clips.

    Dang. It's too much for it
    Quote Quote  
  22. Member MJ Peg's Avatar
    Join Date
    Dec 2008
    Location
    United Kingdom
    Search Comp PM
    Originally Posted by poisondeathray
    In avisynth,

    FFMpegSource2()++FFMpegSource2()++....
    DelayAudio(1.2)

    I would always preview your script e.g. in a mediaplayer first, before wasting time deshaking or encoding etc... or are you saying the script was fine, and only desync after deshaking?
    Excellent, thanks... yes it played fine in VirtualDub at first, it's only the deshake that un-syncs the audio - hence the need to delay first to compensate

    I'll add an echo DelayAudio(1.2) >> test.avs to my batch, for small runs!
    Quote Quote  
  23. That is weird. Deshaker shouldn't affect the AV sync

    Can you add info() to the script and just open it to see what the fps line says?

    Sometimes ffmpegsource2() will get the fps incorrect and you just have to add a line to correct it. This was the case in the other thread I mentioned above for AVCHD lite

    AssumeFPS(30000,1001)
    Quote Quote  
  24. Member MJ Peg's Avatar
    Join Date
    Dec 2008
    Location
    United Kingdom
    Search Comp PM
    Deshaker adds a notice at the start of the deshaken clip explaining the 30 frames audio delay, and that all seems to work, thanks.

    It is 25fps from 25-in-50 AVCHD Lite from an FZ38 camera... Info() says 25.000 (1000000/40000)

    Well, it doesn't take much to break it... 7 clips is the most I've managed so far! From 629 to 635 works, but if I add 636 it breaks. Yet there's nothing wrong with clip 636, because a 3 liner version with just 629,636 & 635 does work.

    Cheers
    Quote Quote  
  25. ok right, you are using that mode for deshaker, that explains the delay

    Ooops, I neglected to see you are in the UK, so 25 fps is correct, so no need to do anything

    Not sure why some work and some don't. It could be overhang / flush end theory I mentioned above.

    What is wrong with the 629->636 join exactly? i.e. where does it "break"?
    Quote Quote  
  26. Member MJ Peg's Avatar
    Join Date
    Dec 2008
    Location
    United Kingdom
    Search Comp PM
    It fails to load at all in VirtualDub - with the error message I wrote in my comment of 17:53

    Originally Posted by MJ Peg
    No, it's not happy with 49 MTS files! It falls over with an error ...

    Avisynth Open Failure:
    FFAudioSource: Audio track contains no audio frames
    (FFMS2.avsi, line 38 )

    and my avs file/path and last line number, no matter whether I delete a few from the end or middle, or near the start because there are only 3 of the .ffindex files created, for the first 3 clips.

    Dang. It's too much for it
    Something blows its brains out... Heaven knows what!
    Quote Quote  
  27. Member MJ Peg's Avatar
    Join Date
    Dec 2008
    Location
    United Kingdom
    Search Comp PM
    I had a look at multiAVCHD and I'm a bit wary. 20MB for a convertor prog?! And the site says :

    all builds expire few weeks after being issued and can be used after you execute multiUPDATE
    may cease to operate at any time without warning
    if multiAVCHD employs donateware program or becomes payware ...

    I don't like the sound of that. If people want to share their programming efforts with the world (I would if I could) that's fine and I'm grateful, but not if they &*$% about like that. I don't have any faith in progs that where they could pull the plug at any moment. Why should I waste my time and diskspace on something I can't have reasonable faith in?
    Quote Quote  
  28. Member MJ Peg's Avatar
    Join Date
    Dec 2008
    Location
    United Kingdom
    Search Comp PM
    FWIW I've been trying to script individual deshaking, with help here http://forums.virtualdub.org/index.php?act=ST&f=5&t=17772 but it's getting silly now!
    Quote Quote  
  29. I'm a Super Moderator johns0's Avatar
    Join Date
    Jun 2002
    Location
    canada
    Search Comp PM
    I've been using multiavchd for the last year and even donated to the author and would buy it if it became payware,any programmer has the rightful option to quit supporting any software or start charging for it and since its beta its being updated all the time and the author just want to support the newest version out instead of people wanting fixes for editions that are 6 months old so its easier to expire them.
    I think,therefore i am a hamster.
    Quote Quote  
  30. Thanks for the explanation and the support, johns0!

    Plus... I know that it will never become payware

    @MJ Peg: multiAVCHD is not a convertor program.
    Laugh and the world will laugh with you. Cry and you will be alone
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!