ffmpeg -i episode01.mkv -i theme.wav -filter_complex "[0:a]volume=0.5[a1];[1:a]volume=1.0[a2];[a1][a2]amix=duration=shortest" -c:v copy output.mkv | Problem | Solution | |---------|----------| | "Packet mismatch" on concat | Re-encode all episodes to same format first | | Audio out of sync | Add -async 1 or re-encode with -c:a aac -b:a 192k | | Very large file | Lower CRF (e.g., 23–28) or use H.265 ( libx265 ) | | No audio in output | Add -map 0:a explicitly | 14. Complete Season 1 Join Script Example Save as join_party_down.sh (Linux/macOS) or use in WSL/Cygwin:
00:00:00 00:22:00 ep01.mkv 00:22:00 00:45:00 ep02.mkv ... Or manual cuts:
ffmpeg -i episode01.mkv -c:a flac party_audio.flac Convert all MKV to MP4 (H.264 + AAC): party down s01 ffmpeg
ffmpeg -i episode01.mkv ffmpeg -i episode02.mkv If formats differ, re-encode first (see Section 6). Method A: Lossless (same codecs, no re-encode) Create join.txt :
ffmpeg -i episode01.mkv -af silencedetect=noise=-30dB:d=0.5 -f null - (Then script around detected timestamps.) ffmpeg -i episode01
ffmpeg -i episode01.mkv -i ep01.srt -c copy -c:s mov_text episode01_soft.mp4 ffmpeg -i episode01.mkv -vf scale=1280:720 -c:v libx264 -preset fast -crf 22 -c:a aac party_720p.mp4 9. Create a Single Marathon Video with Chapter Markers First, join episodes (Section 3). Then create chapters.txt :
ffmpeg -f concat -safe 0 -i join.txt -c copy party_down_s01_full.mkv -c copy avoids re-encoding (fast, no quality loss). ffmpeg -f concat -safe 0 -i join.txt -c:v libx264 -preset medium -crf 18 -c:a aac -b:a 192k party_down_s01_full.mkv -crf 18 is near-lossless; 23 is good for size. 4. Cutting Clips (e.g., favorite scenes) Cut from 10m30s to 15m20s: Method A: Lossless (same codecs, no re-encode) Create join
ffmpeg -version Party Down S01 episodes might be named: Party.Down.S01E01.mkv , Party.Down.S01E02.mkv , etc.