Troubleshooting SPVIDEO: Common Issues and Fixes
1. Video won’t play
- Cause: Missing codec or unsupported format.
- Fix: Convert to a widely supported codec/container (H.264 in MP4). Use FFmpeg:
bash
ffmpeg -i input.mov -c:v libx264 -crf 23 -preset medium -c:a aac output.mp4
2. Audio out of sync
- Cause: Variable frame rate source or incorrect timestamps.
- Fix: Remux with ffmpeg to force constant frame rate and regenerate timestamps:
bash
ffmpeg -i input.mp4 -r 30 -c copy -avoid_negative_ts make_zero outputsync.mp4
If issue persists, re-encode audio to match sample rate:
bash
ffmpeg -i input.mp4 -ar 48000 -ac 2 -c:v copy output_audiofixed.mp4
3. Video is choppy or low FPS
- Cause: High bitrate, hardware limits, or frame drops.
- Fix: Lower bitrate or frame size:
bash
ffmpeg -i input.mp4 -vf “scale=1280:720” -b:v 2500k -c:a copy output720.mp4
Enable hardware acceleration in player/encoder (e.g., VAAPI, NVENC).
4. Corrupted file or playback errors
- Cause: Incomplete download or container errors.
- Fix: Attempt repair/remux:
bash
ffmpeg -err_detect ignore_err -i corrupted.mp4 -c copy repaired.mp4
For severe corruption, try recovering with specialized tools (e.g., MP4Box, recovermp4).
5. Subtitle not showing
- Cause: Missing embedding or unsupported codec/format.
- Fix: Embed subtitles into MP4:
bash
ffmpeg -i video.mp4 -i subs.srt -c copy -c:s mov_text output_withsubs.mp4
6. Thumbnail or poster not generating
- Cause: Wrong seek timestamp or permissions.
- Fix: Use ffmpeg to grab frame at 5s:
bash
ffmpeg -ss 00:00:05 -i input.mp4 -vframes 1 -q:v 2 thumb.jpg
7. Streaming buffering or stalls
- Cause: Network bandwidth, segment size, or incorrect HLS/DASH settings.
- Fix: For HLS, create multiple bitrate renditions and set appropriate segment duration (4–6s). Example FFmpeg for HLS:
bash
ffmpeg -i input.mp4 -profile:v baseline -level 3.0 -start_number 0 -hls_time 6 -hls_listsize 0 -f hls index.m3u8
8. Metadata missing or incorrect
- Cause: Not written or overwritten during processing.
- Fix: Set metadata explicitly:
bash
ffmpeg -i input.mp4 -metadata title=“My Video” -metadata author=“Creator” -c copy output_meta.mp4
Diagnostic checklist (quick)
- File format: Confirm container and codec support.
- Player logs: Check console or player debug output.
- FFmpeg probe: Run
ffprobe input.mp4for stream info. - Network: Test throughput and latency for streaming.
- Hardware: Verify GPU/CPU usage and driver support.
If you share the exact error messages, player, or a sample file details (ffprobe output), I can provide targeted commands and steps.
Leave a Reply