Surveillance systems are playing a significant role in law enforcement and city safety. It is important to detect violent and suspicious behaviors automatically in video surveillance scenarios, for instance, railway stations, schools, hospitals to avoid any casualties which could cause social, economic, and ecological damage. Automatic detection of violence for quick actions is very significant and can efficiently help law enforcement departments. So, researchers are doing a lot of research on different techniques for detecting violence. This research study reviews various techniques and methods for detecting violent or anomalous activities from surveillance video that have been proposed by many researchers in recent years. The method of detection is divided into three categories. These categories are based on the classification techniques used. These categories are: traditional violence detection using machine learning, Support Vector Machine (SVM) & Deep Learning. Feature extraction & Object detection techniques are also described for each category. Moreover, dataset & video features that help in the recognition process are also discussed. The overall research finding has been discussed which will help the researcher in their future work in this field.