fix KV API to unified format, and test
This commit is contained in:
Vendored
BIN
Binary file not shown.
Vendored
+73
@@ -0,0 +1,73 @@
|
||||
#!/bin/bash
|
||||
# Generate minimal test videos for FFprobe integration tests
|
||||
# Run inside Docker container with FFmpeg installed
|
||||
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
cd "$SCRIPT_DIR"
|
||||
|
||||
echo "Generating test video files..."
|
||||
|
||||
# 1. Simple video with video + audio streams (2 seconds, ~100KB)
|
||||
if [ ! -f "simple.mp4" ]; then
|
||||
echo "Creating simple.mp4..."
|
||||
ffmpeg -y -f lavfi -i testsrc=duration=2:size=320x240:rate=24 \
|
||||
-f lavfi -i sine=frequency=440:duration=2 \
|
||||
-c:v libx264 -preset ultrafast -crf 28 \
|
||||
-c:a aac -b:a 64k \
|
||||
-shortest \
|
||||
simple.mp4
|
||||
fi
|
||||
|
||||
# 2. Video with multiple audio tracks (for multi-stream testing)
|
||||
if [ ! -f "multi-audio.mkv" ]; then
|
||||
echo "Creating multi-audio.mkv..."
|
||||
ffmpeg -y -f lavfi -i testsrc=duration=2:size=640x480:rate=30 \
|
||||
-f lavfi -i sine=frequency=440:duration=2 \
|
||||
-f lavfi -i sine=frequency=880:duration=2 \
|
||||
-c:v libx264 -preset ultrafast -crf 28 \
|
||||
-filter_complex "[1:a]aformat=channel_layouts=stereo[a1];[2:a]aformat=channel_layouts=stereo[a2]" \
|
||||
-map 0:v -map "[a1]" -map "[a2]" \
|
||||
-c:a aac -b:a 64k \
|
||||
-metadata:s:a:0 language=eng -metadata:s:a:0 title="English" \
|
||||
-metadata:s:a:1 language=jpn -metadata:s:a:1 title="Japanese" \
|
||||
multi-audio.mkv
|
||||
fi
|
||||
|
||||
# 3. Video with subtitles (if possible, create with embedded subs)
|
||||
if [ ! -f "with-subs.mkv" ]; then
|
||||
echo "Creating with-subs.mkv..."
|
||||
# Create a simple SRT file
|
||||
cat > temp_subs.srt << 'EOF'
|
||||
1
|
||||
00:00:00,000 --> 00:00:01,000
|
||||
Test subtitle line 1
|
||||
|
||||
2
|
||||
00:00:01,000 --> 00:00:02,000
|
||||
Test subtitle line 2
|
||||
EOF
|
||||
|
||||
ffmpeg -y -f lavfi -i testsrc=duration=2:size=320x240:rate=24 \
|
||||
-f lavfi -i sine=frequency=440:duration=2 \
|
||||
-i temp_subs.srt \
|
||||
-c:v libx264 -preset ultrafast -crf 28 \
|
||||
-c:a aac -b:a 64k \
|
||||
-c:s srt \
|
||||
-metadata:s:s:0 language=eng \
|
||||
with-subs.mkv
|
||||
|
||||
rm -f temp_subs.srt
|
||||
fi
|
||||
|
||||
# 4. Audio-only file (should be skipped by FFmpeg plugin)
|
||||
if [ ! -f "audio-only.mp3" ]; then
|
||||
echo "Creating audio-only.mp3..."
|
||||
ffmpeg -y -f lavfi -i sine=frequency=440:duration=2 \
|
||||
-c:a libmp3lame -b:a 128k \
|
||||
audio-only.mp3
|
||||
fi
|
||||
|
||||
echo "Test fixtures generated:"
|
||||
ls -la *.mp4 *.mkv *.mp3 2>/dev/null || true
|
||||
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
Reference in New Issue
Block a user