In this paper, an algorithm for both intra-patient and inter-patient seizure prediction from invasive electroencephalography (EEG) is proposed and tested. Multi-channel EEG signal are pre-processed, windowed and built into spatial-temporal covariance matrices. Multivariate features are extracted from these matrices, then reduced in dimensionality by principle component analysis (PCA). A support vector machine (SVM) system is trained with the features of classified segments of data to predict the un-classified segments. The cross-validation test shows that the proposed algorithm achieves significantly better performance than that achieved in existing literatures, with the area under receiver operating characteristic (ROC) curve of 0.977 for intra-patient and 0.822 for inter-patient prediction. The significance test further proves that the result is statistically reliable for intra-patient prediction with p-value of 0.00, and well considerable for inter-patient prediction with p-value of 0.08.