blog :: dejan @ fejst.net

Osebni spletni dnevnik z zaznamki in dogodki s potovanja moje življenske poti.

Nokia N95 urejanje videa  


Problem:
Ko sem nekega dne posnel en video z n95ko, sem hotel malo dodati teksta in uporabiti film s slikami za DVD. Ker nimam posebnih orodij za urejanje DVD filmov sem uporabil kar MS WindowsMovieMaker, ki pride z Visto. Vse sem lahko pripravil in v predogledu gledal filmsko umetnino, apmak... ko sem hotel zadevo zapakirati se je pojavila težava s kodekom MPEG4, ki ga uporablja nokia in publish ni nikoli dokončal na določenem procentu se je proces zaustavil in ni šel dalje.

Rešitev:
Problem sem rešil tako, da sem izluščil film in zvok iz mp4 datoteke ter v MS WindowsMovieMaker-ju ponovno vse skupaj zložil in uredil.
Za to sem potreboval naslednja orodja:

  • pc4UI :: http://mp4ui.sourceforge.net/
  • VLC :: http://www.videolan.org/
  • K-Lite Codec Pack :: http://www.free-codecs.com/

    Postopek:
    1. Prekopiraj video mp4 format datotek iz n95 na računalnik;
    - uporabi Nokia PC suite ali datotečni prenos
    2. Izlušči (extract) video v AVI s pc4UI programom;
    - Odpri datoteko mp4 in
    - izlušči video
    3. izlušči (extract) audio v AAC s pc4UI programom;
    - datoteko ki smo odprli (mp4)
    - izluščimo še zvok.
    4. pretvori audio v MP3 s programom VLC.
    - odpri zvokovno datoteko .aac
    - zaženi: >Datoteka>Čarovnik
    - izberi: Prekodiraj/shrani v datoteko (Next)
    - izberi: "Obstoječ predmet seznama predvajanja"
    - odkljukaj: Prekodiranje zvoka in izberi bitrate (jaz sem dal na 96kbps); kodec pustiš MPEG Audio.
    - Dokončaj z Next in Finish v izbrano izhodno datoteko mp3.
    To je v bistvu vse. Po pretvarjanju sledi le še zabava z video editorjem, kjer si uredimo zvok in sliko po svojem okusu in scenariju.

    Read More...
  • AddThis Social Bookmark Button

    AD telefonski imenik (rekurzivno)  

    Kar nekaj časa sem porabil, da sem doumel, da se z enostavnimi triki da iskati tudi rekurzivno po AD imeniku. Problem sem imel, ko sem hotel z getObject pridobivati atribute, ki pa na enostaven način ne pozna rekurzive. Torej najlažje to dosežemo tako, da za rekuzivno iskanje uporabimo ADO, kjer določimo iskalne kriterije in s subtree določimo rekurzivnost iskanja ter na to posredujemo dn (distinguished name) loop zanki, ki za vsak najden objekt naredi getObject.

    Primer skripte je spodaj:


    Option Explicit
    Dim adoCommand, adoConnection, strBase, strFilter, strAttributes
    Dim objRootDSE, strDNSDomain, strQuery, adoRecordset

    Set adoCommand = CreateObject("ADODB.Command")
    Set adoConnection = CreateObject("ADODB.Connection")
    adoConnection.Provider = "ADsDSOObject"
    adoConnection.Open "Active Directory Provider"
    adoCommand.ActiveConnection = adoConnection

    Set objRootDSE = GetObject("LDAP://RootDSE")
    strDNSDomain = objRootDSE.Get("defaultNamingContext")
    strBase = ""

    Dim srchUser
    srchUser = "*"
    strFilter = "(&(objectCategory=user)(telephoneNumber=*)(cn=" & srchUser & "))"
    strAttributes = "sAMAccountName,cn,distinguishedName"

    strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";subtree"
    adoCommand.CommandText = strQuery
    adoCommand.Properties("Page Size") = 500
    adoCommand.Properties("Timeout") = 30
    adoCommand.Properties("Cache Results") = False

    Dim strName, strCN, arrGroups, strGroup
    Dim strUserDN
    Set adoRecordset = adoCommand.Execute
    adoRecordset.MoveFirst
    Dim strFile, objFSO, objFile
    strFile = "c:\temp\interni-imenik.csv"
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    If objFSO.FileExists(strFile) THEN
    On Error Resume Next
    objFSO.DeleteFile(strFileName)
    Set objFile = objFSO.CreateTextFile(strFile)
    Else
    Set objFile = objFSO.CreateTextFile(strFile)
    End If
    Do Until adoRecordset.EOF
    strName = adoRecordset.Fields("sAMAccountName").Value
    strCN = adoRecordset.Fields("cn").value
    Wscript.Echo "Izpis: " & strName & ", " & strCN
    strUserDN = adoRecordset.Fields("distinguishedName").Value
    strUserDN = Replace(strUserDN, "/", "\/")
    Dim strLine
    strLine = retriveuserDetails(strUserDN)
    Wscript.echo strLine
    'ForAppending = 8 ForReading = 1, ForWriting = 2
    Const ForAppending = 8
    Set objFile = objFSO.OpenTextFile(strFile, ForAppending, True)
    objFile.Write strLine
    objFile.Write vbcrlf
    objFile.Close
    adoRecordset.MoveNext
    Loop
    adoRecordset.Close
    adoConnection.Close

    Function retriveUserDetails(strDN)
    Dim objUser
    Set objRootDSE = GetObject("LDAP://RootDSE")
    strDNSDomain = objRootDSE.Get("DefaultNamingContext")
    Set objUser = GetObject("LDAP://" & strDN)
    retriveUserDetails = Chr(34) & _
    objUser.FullName & """,""" & _
    objUser.sn & """,""" & _
    objUser.middleName & """,""" & _
    objUser.givenName & """,""" & _
    objUser.telephoneNumber & """,""" & _
    objUser.mobile & """,""" & _
    objUser.ipPhone & """,""" & _
    objUser.facsimileTelephoneNumber & """,""" & _
    objUser.description & """,""" & _
    objUser.title & """,""" & _
    objUser.department & """,""" & _
    objUser.physicalDeliveryOfficeName & """,""" & _
    objUser.mail & chr(34)
    End Function
    WScript.Quit

    Read More...
    AddThis Social Bookmark Button

    VBScrip: Ugotavljanje razlike dveh datumov ali časov  


    '# Ugotavljanje razlike dveh datumov ali časov
    '# Uporabimo funkcijo DateDiff()

    Dim NovoLeto
    NovoLeto = "31.12.2008"
    wscript.echo "31.12.2008 bo cez " & DateDiff("d", Date(), CDate(NovoLeto)) & " dni." 'Koliko dni je do novega leta?

    Read More...
    AddThis Social Bookmark Button

    VBScript: Seštevanje in odštevanje časa  


    '# Seštevanje in odštevanje časa
    '# Uporabimo funkcijo DateAdd()
    '#/// Pravilne vrednosti intervala so
    '#/// Leto = "yyyy"
    '#/// Kvartal = "q"
    '#/// Mesec = "m"
    '#/// Dan v letu = "y"
    '#/// Dan = "d"
    '#/// Teden = "w"
    '#/// Teden v letu = "ww"
    '#/// Ura = "h"
    '#/// Minuta = "n"
    '#/// Sekunda = "s"
    '#/// Spodaj je nekaj zgledov:
    WScript.echo "Last Quarter: " & DateAdd("q", -1, Date()) 'Izpišimo datum prejšnjega Kvartal-a
    WScript.echo "Next Quarter: " & DateAdd("q", 1, Date()) 'Izpišimo datum naslednjega Kvartal-a
    WScript.echo "2 Years ago: " & DateAdd("yyyy", -2, Date()) 'Izpišemo datum pred dvema letoma
    WScript.echo "9 Month ahead: " & DateAdd("m", 9, Date()) 'Izpišemo datum čez 9 mesecev

    Read More...
    AddThis Social Bookmark Button

    VBScript: Razčlenjevanje stringov ali datuma  

    '# Razčlenjevanje stringov ali datuma

    Dim NovDatum, arr1Del, arr2Del, MojZapis
    NovDatum = "31.12.2008 23:59:59" 'Določimo en datum
    arr1Del = split(MojDatum, " ", -1, 1) 'Prvo razdelimo Datum in Uro
    WScript.echo "Prvi del je datum: " & arr1Del(0) & vbcrlf &_
    "Drugi del je ura: " & arr1Del(1)
    arr2Del = split(arr1Del(0), ".", -1, 1) 'Sedaj razčlenimo še Datum
    WScript.echo "0 = " & arr2Del(0) & vbcrlf &_
    "1 = " & arr2Del(1) & vbcrlf &_
    "2 = " & arr2Del(2)

    Read More...
    AddThis Social Bookmark Button

    VBScript: Kako preverimo če je zapisan string resnično datum?  

    '# Kako preverimo če je zapisan string resnično datum?

    Dim MojDatum, strDatum, JeDatum
    MojDatum = "31.8.2006 10:30:14" 'Določimo en datum
    strDatum = "mm.10.haha lo:OO:ol" 'Določimo NE datum
    JeDatum = IsDate(MojDatum) 'Preverimo obliko zapisa -> vrne -1 oz. TRUE
    WScript.echo "Zapis: " & MojDatum & vbrclf & " Je v obliki datuma? " & JeDatum
    JeDatum = IsDate(strDatum)
    WScript.echo "Zapis: " & strDatum & vbrclf & " Je v obliki datuma? " & JeDatum

    Read More...
    AddThis Social Bookmark Button

    VBScript: Iz datuma izluščimo DAN, MESEC in LETO  

    '# Iz datuma izluščimo DAN, MESEC in LETO

    Dim Datum, DAN, MESEC, LETO
    Datum = Date ' Povemo sistemski datum
    DAN = Day(Datum) 'Izluščimo Dan,
    MESEC = Month(Datum) 'Izluščimo Mesec,
    LETO = Year(Datum) 'Izluščimo Letnico
    WScript.echo Datum
    WScript.echo "Dan: " & DAN & vbcrlf &_
    "Mesec: " & MESEC & vbcrlf &_
    "Leto: " & LETO

    Read More...
    AddThis Social Bookmark Button

    Skripta VBS za rekurzivno iskanje računalnikov po AD Domain Controlerju za Windows 2003 server  

    Ena VBScript-a, ki nam izlušči vse računalnike iz domenskega strežnika. Določimo poljuben OU, od katerega dalje samodejno rekurzivno iz vseh pod-OUjev izluščimo vse določene objekte. Skripto se enostavno spremeni tako, da nam izlušči tudi kakšne druge vrednosti kot računalnik (v primeru).

    Option Explicit
    Dim adoCommand, adoConnection, strBase, strFilter, strAttributes
    Dim strQuery, adoRecordset, strNTName, strCN, strDN
    ' //:: Nastavitve ADO objekta:
    Set adoCommand = CreateObject("ADODB.Command")
    Set adoConnection = CreateObject("ADODB.Connection")
    adoConnection.Provider = "ADsDSOObject"
    adoConnection.Open "Active Directory Provider"
    adoCommand.ActiveConnection = adoConnection
    ' //:: Nastavitev root LDAP-a za rekurzivno iskanje:
    ' //:: Samo Oracle Computers
    strBase = ""
    ' //:: Določimo filter po objektih (samo COMPUTERS)
    strFilter = "(objectCategory=computer)"
    ' //:: z vejico sestavimo filter vrednosti ki jih želimo poizvedovati:
    strAttributes = "sAMAccountName,cn,distinguishedName"
    ' //:: Sestavimo LDAP poizvedbo rekurzivno
    strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";subtree"
    adoCommand.CommandText = strQuery
    adoCommand.Properties("Page Size") = 100
    adoCommand.Properties("Timeout") = 30
    adoCommand.Properties("Cache Results") = False
    ' //:: Izvedemo query:
    Set adoRecordset = adoCommand.Execute
    ' //:: Zberemo rezultate:
    Do Until adoRecordset.EOF
    ' //:: Vrnemo vrednosti za prikaz
    strNTName = adoRecordset.Fields("sAMAccountName").Value
    strCN = adoRecordset.Fields("cn").value
    strDN = adoRecordset.Fields("distinguishedName").Value
    Wscript.Echo strCN
    ' //:: Premaknemo se na naslednji objekt (zapis)
    adoRecordset.MoveNext
    Loop
    ' //:: Počistimo za sabo, da ne pacamo po ramu.
    adoRecordset.Close
    adoConnection.Close

    Read More...
    AddThis Social Bookmark Button