# Video details for i, stream in enumerate(video_streams): print(f"\nšŸŽ„ Video Stream {i}:") print(f" Codec: {stream.get('codec_name', 'Unknown')}") print(f" Resolution: {stream.get('width', '?')}x{stream.get('height', '?')}") print(f" FPS: {eval(stream.get('r_frame_rate', '0/1')):.2f}")

# Subtitle details for i, stream in enumerate(subtitle_streams): print(f"\nšŸ“ Subtitle Stream {i}:") print(f" Codec: {stream.get('codec_name', 'Unknown')}") print(f" Language: {stream.get('tags', {}).get('language', 'Unknown')}") display_mkv_info("1234.mkv") 2. Stream Extraction Feature def extract_streams(filepath="1234.mkv"): """Extract individual streams from MKV""" streams = analyze_mkv(filepath)

# Extract subtitles if present subprocess.run([ 'ffmpeg', '-i', filepath, '-map', '0:s:0', '-c', 'copy', '1234_subtitles.srt' ]) print("āœ… Streams extracted from 1234.mkv") def remux_mkv(filepath="1234.mkv", output="1234_remuxed.mkv"): """Remux MKV to optimize or remove streams""" # Remove unwanted streams (example: keep only first video and audio) subprocess.run([ 'ffmpeg', '-i', filepath, '-map', '0:v:0', '-map', '0:a:0', '-c', 'copy', output ])

# Extract audio subprocess.run([ 'ffmpeg', '-i', filepath, '-map', '0:a:0', '-c', 'copy', '1234_audio.aac' ])

# Get file size file_size = os.path.getsize(filepath)

1234 | Mkv

# Video details for i, stream in enumerate(video_streams): print(f"\nšŸŽ„ Video Stream {i}:") print(f" Codec: {stream.get('codec_name', 'Unknown')}") print(f" Resolution: {stream.get('width', '?')}x{stream.get('height', '?')}") print(f" FPS: {eval(stream.get('r_frame_rate', '0/1')):.2f}")

# Subtitle details for i, stream in enumerate(subtitle_streams): print(f"\nšŸ“ Subtitle Stream {i}:") print(f" Codec: {stream.get('codec_name', 'Unknown')}") print(f" Language: {stream.get('tags', {}).get('language', 'Unknown')}") display_mkv_info("1234.mkv") 2. Stream Extraction Feature def extract_streams(filepath="1234.mkv"): """Extract individual streams from MKV""" streams = analyze_mkv(filepath) 1234 mkv

# Extract subtitles if present subprocess.run([ 'ffmpeg', '-i', filepath, '-map', '0:s:0', '-c', 'copy', '1234_subtitles.srt' ]) print("āœ… Streams extracted from 1234.mkv") def remux_mkv(filepath="1234.mkv", output="1234_remuxed.mkv"): """Remux MKV to optimize or remove streams""" # Remove unwanted streams (example: keep only first video and audio) subprocess.run([ 'ffmpeg', '-i', filepath, '-map', '0:v:0', '-map', '0:a:0', '-c', 'copy', output ]) # Video details for i, stream in enumerate(video_streams):

# Extract audio subprocess.run([ 'ffmpeg', '-i', filepath, '-map', '0:a:0', '-c', 'copy', '1234_audio.aac' ]) # Video details for i

# Get file size file_size = os.path.getsize(filepath)