# import streamlit as st # import numpy as np # import cv2 # import tempfile # import os # # ---- Page Configuration ---- # st.set_page_config(page_title="Fake & Deepfake Detection", layout="wide") # st.title("📰 Fake News & Deepfake Detection Tool") # st.write("🚀 Detect Fake News, Deepfake Images, and Videos using AI") # # ---- Fake News Detection Section ---- # st.subheader("📝 Fake News Detection") # news_input = st.text_area("Enter News Text:", "Type here...") # if st.button("Check News"): # st.write("🔍 Processing...") # # Fake news detection logic (Placeholder) # st.success("✅ Result: This news is FAKE.") # Replace with ML Model # # ---- Deepfake Image Detection Section ---- # st.subheader("📸 Deepfake Image Detection") # uploaded_image = st.file_uploader("Upload an Image", type=["jpg", "png", "jpeg"]) # if uploaded_image is not None: # st.image(uploaded_image, caption="Uploaded Image", use_column_width=True) # if st.button("Analyze Image"): # st.write("🔍 Processing...") # # Deepfake detection logic (Placeholder) # st.error("⚠️ Result: This image is a Deepfake.") # Replace with model # # ---- Deepfake Video Detection Section ---- # st.subheader("🎥 Deepfake Video Detection") # uploaded_video = st.file_uploader("Upload a Video", type=["mp4", "avi", "mov"]) # if uploaded_video is not None: # st.video(uploaded_video) # if st.button("Analyze Video"): # st.write("🔍 Processing...") # # Deepfake video detection logic (Placeholder) # st.warning("⚠️ Result: This video contains Deepfake elements.") # Replace with model # st.markdown("🔹 **Developed for Fake News & Deepfake Detection Hackathon**") import streamlit as st import cv2 import numpy as np import tempfile import os from PIL import Image def compress_image(image, quality=20): img = Image.open(image) img = img.convert("RGB") temp_file = tempfile.NamedTemporaryFile(delete=False, suffix=".jpg") img.save(temp_file.name, "JPEG", quality=quality) return temp_file.name def compress_video(video): temp_file = tempfile.NamedTemporaryFile(delete=False, suffix=".mp4") cap = cv2.VideoCapture(video) fourcc = cv2.VideoWriter_fourcc(*'mp4v') frame_width = int(cap.get(3) // 2) frame_height = int(cap.get(4) // 2) out = cv2.VideoWriter(temp_file.name, fourcc, 20.0, (frame_width, frame_height)) while cap.isOpened(): ret, frame = cap.read() if not ret: break frame = cv2.resize(frame, (frame_width, frame_height)) out.write(frame) cap.release() out.release() return temp_file.name st.title("🕵️‍♂️ Fake News & Deepfake Detection Tool") st.sidebar.header("Upload your file") option = st.sidebar.radio("Select file type", ["Image", "Video", "Text"]) if option == "Image": uploaded_file = st.sidebar.file_uploader("Upload an image", type=["jpg", "jpeg", "png"]) if uploaded_file is not None: compressed_path = compress_image(uploaded_file) image = Image.open(compressed_path) st.image(image, caption="Compressed Image", use_column_width=True) st.success("✅ Image uploaded and compressed successfully!") elif option == "Video": uploaded_file = st.sidebar.file_uploader("Upload a video", type=["mp4", "avi", "mov"]) if uploaded_file is not None: compressed_path = compress_video(uploaded_file) st.video(compressed_path) st.success("✅ Video uploaded and compressed successfully!") elif option == "Text": text_input = st.text_area("Enter your text for analysis") if text_input: st.write("🔍 Fake news detection processing...") st.success("✅ Text analysis completed!")