blob: dfcafefb9fd237ea17b3026d27798115b1756c6a [file] [log] [blame]
// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
bear-320x240.webm - WebM encode of bear.1280x720.mp4 resized to 320x240.
bear-320x240-video-only.webm - The video track of bear-320x240.webm.
bear-320x240-audio-only.webm - The audio track of bear-320x240.webm.
bear-vp9.webm - VP9 video only WebM file.
bear-vp9-opus.webm - VP9 Video with Opus Audio.
bear-vp8-webvtt.webm - WebM VP8 video with WebVTT subtitle track.
bear-1280x720-avt_subt_frag.mp4 - Fragmented bear_1280x720.mp4 with text track
containing srt from bear-vp8-webvtt.webm as
a 'subt' handler type.
bear-1280x720-av_frag.mp4 - Fragmented bear_1280x720.mp4.
bear-1280x720-av_frag-initsegment-mvhd_version_0-mvhd_duration_bits_all_set.mp4:
Just the first initialization segment of bear-1280x720_av_frag.mp4, modified to
have the mvhd version 0 32-bit duration field set to all 1's.
bear-flac.mp4 - Unfragmented audio-only 44.1kHz FLAC in MP4 file, created using:
ffmpeg -i bear-1280x720.mp4 -map 0:0 -acodec flac -strict -2 bear-flac.mp4
Note, "-strict -2" was required because current ffmpeg libavformat version
57.75.100 indicates that flac in MP4 support is experimental.
bear-flac_frag.mp4 - Fragmented audio-only 44.1kHz FLAC in MP4 file, created using:
ffmpeg -i bear-flac.mp4 -acodec copy -strict -2 -movflags frag_keyframe+empty_moov+default_base_moof bear-flac_frag.mp4
bear-flac-192kHz.mp4 - Unfragmented audio-only high-sample-rate FLAC in MP4 file, created using:
ffmpeg -i bear-1280x720.mp4 -map 0:0 -acodec flac -strict -2 -ar 192000 bear-flac-192kHz.mp4
bear-flac-192kHz_frag.mp4 - Fragmented audio-only high-sample-rate FLAC in MP4 file, created using:
ffmpeg -i bear-flac-192kHz.mp4 -acodec copy -strict -2 -movflags frag_keyframe+empty_moov+default_base_moof bear-flac-192kHz_frag.mp4
sfx-flac.mp4 - Unfragmented audio-only 44.1kHz FLAC in MP4 file, created using:
ffmpeg -i sfx.flac -map 0:0 -acodec copy -strict -2 sfx-flac.mp4
sfx-flac_frag.mp4 - Fragmented audio-only 44.1kHz FLAC in MP4 file, created using:
ffmpeg -i sfx.flac -map 0:0 -acodec copy -strict -2 -movflags frag_keyframe+empty_moov+default_base_moof sfx-flac_frag.mp4
bear-vp8a.webm - WebM VP8 video with alpha channel.
bear-vp8a-odd-dimensions.webm - WebM VP8 video with alpha channel and odd dimensions.
bear-opus.webm - Opus Audio only WebM file.
bear-opus-end-trimming.webm - File to test end trimming. It has one byte
artificially added so that there is maximum
padding at the end. It is an Opus Audio only WebM
file.
no_streams.webm - Header, Info, & Tracks element from bear-320x240.webm slightly corrupted so it looks
like there are no tracks.
nonzero-start-time.webm - Has the same headers as bear-320x240.webm but the first cluster of this file
is the second cluster of bear-320x240.webm. This creates the situation where
the media data doesn't start at time 0.
bear-320x240_corrupted_after_init_segment.webm - bear-320x240.webm's initialization segment followed by "CORRUPTED\n"
bear-320x240-live.webm - bear-320x240.webm remuxed w/o a duration and using clusters with unknown sizes.
ffmpeg -i bear-320x240.webm -acodec copy -vcodec copy -f webm pipe:1 > bear-320x240-live.webm
vp8-I-frame-160x240 - The first I frame of a 160x240 reencode of bear-320x240.webm.
vp8-I-frame-320x120 - The first I frame of a 320x120 reencode of bear-320x240.webm.
vp8-I-frame-320x240 - The first I frame of bear-320x240.webm.
vp8-I-frame-320x480 - The first I frame of a 320x480 reencode of bear-320x240.webm.
vp8-I-frame-640x240 - The first I frame of a 640x240 reencode of bear-320x240.webm.
vp8-corrupt-I-frame - A copy of vp8-I-frame-320x240 w/ all bytes XORed w/ 0xA5.
colour.webm - a WebM file containing color metadata in MKV/WebM Colour element
copied from libwebm/testing/testdata/colour.webm
AAC test data from MPEG-DASH demoplayer (44100 Hz, stereo)
Duration of each packet is (1024/44100 Hz), approximately 23.22 ms.
aac-44100-packet-0 - timestamp: 0ms
aac-44100-packet-1 - timestamp: 23.22ms
aac-44100-packet-2 - timestamp: 46.44ms
aac-44100-packet-3 - timestamp: 69.66ms
Vorbis test data from bear.ogv (44100 Hz, 16 bits, stereo)
vorbis-extradata - Vorbis extradata section
vorbis-packet-0 - timestamp: 0ms, duration: 0ms
vorbis-packet-1 - timestamp: 0ms, duration: 0ms
vorbis-packet-2 - timestamp: 0ms, duration: 0ms
vorbis-packet-3 - timestamp: 2902ms, duration: 0ms
// 10-bit test file(s)
bear-320x180-hi10p.mp4
bear-320x240-vp9_profile2.webm - VP9 encoded video with profile 2 (10-bit, 4:2:0). Codec string: vp09.02.10.10.01.02.02.02.00.
// Encrypted Files
bear-1280x720-a_frag-cenc.mp4 - A fragmented MP4 version of the audio track of bear-1280x720.mp4 encrypted (ISO CENC) using key ID [1] and key [2].
bear-1280x720-a_frag-cenc-key_rotation.mp4 - A fragmented MP4 version of the audio track of bear-1280x720.mp4 encrypted (ISO CENC) using key ID [1] and key [2] with key rotation [3].
bear-1280x720-a_frag-cenc_clear-all.mp4 - Same as bear-1280x720-a_frag-cenc.mp4 but no fragments are encrypted.
bear-1280x720-v_frag-cenc.mp4 - A fragmented MP4 version of the video track of bear-1280x720.mp4 encrypted (ISO CENC) using key ID [1] and key [2].
bear-1280x720-v_frag-cenc-key_rotation.mp4 - A fragmented MP4 version of the video track of bear-1280x720.mp4 encrypted (ISO CENC) using key ID [1] and key [2] with key rotation [3].
bear-1280x720-v_frag-cenc_clear-all.mp4 - Same as bear-1280x720-v_frag-cenc.mp4 but no fragments are encrypted.
bear-1280x720-a_frag-cenc_missing-saiz-saio.mp4 - An invalid file similar to bear-1280x720-a_frag-cenc.mp4 but has no saiz and saio boxes. To save space, it has only one encrypted sample.
bear-320x240-v_frag-vp9.mp4 - Bear video with VP9 codec in MP4 container. Generated with shaka-packager 1e2da22c8809c17cc4dfdb45924ec45e42058393 (https://github.com/google/shaka-packager):
packager in=bear-vp9.webm,stream=video,out=bear-320x240-v_frag-vp9.mp4
bear-320x240-v_frag-vp9-cenc.mp4 - Same as above, with video encrypted using key ID [1] and key [2]. Generated with shaka-packager 1e2da22c8809c17cc4dfdb45924ec45e42058393 (https://github.com/google/shaka-packager):
packager in=bear-vp9.webm,stream=video,out=bear-320x240-v_frag-vp9-cenc.mp4 --enable_fixed_key_encryption --key_id 30313233343536373839303132333435
--key ebdd62f16814d27b68ef122afce4ae3c --clear_lead 0
--pssh 0000003470737368010000001077EFECC0B24D02ACE33C1E52E2FB4B000000013031323334353637383930313233343500000000000000467073736800000000EDEF8BA979D64ACEA3C827DCD51D21ED000000261210303132333435363738393031323334351A00221030313233343536373839303132333435
bear-320x240-16x9-aspect-av_enc-av.webm - bear-320x240-16x9-aspect.webm with audio & video encrypted using key ID [1] and key [2]
bear-320x240-av_enc-av.webm - bear-320x240.webm with audio & video encrypted using key ID [1] and key [2].
bear-320x240-av_enc-av_clear-1s.webm - Same as bear-320x240-av_enc-av.webm but with no frames in the first second encrypted.
bear-320x240-av_enc-av_clear-all.webm - Same as bear-320x240-av_enc-av.webm but with no frames encrypted.
bear-320x240-v-vp9_profile2_subsample_cenc-v.webm - Encrypted Bear video with VP9 codec (profile 2) in WebM container, using key ID [1] and key [2]. Codec string: vp09.02.10.10.01.02.02.02.00.
Generated with shaka-packager 4ba5bec66054cfd4af13c07ac62a97f1a1a2e5f9 (https://github.com/google/shaka-packager):
packager in=bear-320x240-vp9_profile2.webm,stream=video,out=bear-320x240-v-vp9_profile2_subsample_cenc-v.webm --enable_fixed_key_encryption --key_id 30313233343536373839303132333435
--key ebdd62f16814d27b68ef122afce4ae3c --clear_lead 0
--pssh 0000003470737368010000001077EFECC0B24D02ACE33C1E52E2FB4B000000013031323334353637383930313233343500000000000000467073736800000000EDEF8BA979D64ACEA3C827DCD51D21ED000000261210303132333435363738393031323334351A00221030313233343536373839303132333435
bear-320x240-v-vp9_profile2_subsample_cenc-v.mp4 - Same as above, in MP4 container. Codec string: vp09.02.10.10.01.02.02.02.00.
Generated with shaka-packager 4ba5bec66054cfd4af13c07ac62a97f1a1a2e5f9 (https://github.com/google/shaka-packager):
packager in=bear-320x240-vp9_profile2.webm,stream=video,out=bear-320x240-v-vp9_profile2_subsample_cenc-v.mp4 --enable_fixed_key_encryption --key_id 30313233343536373839303132333435
--key ebdd62f16814d27b68ef122afce4ae3c --clear_lead 0
--pssh 0000003470737368010000001077EFECC0B24D02ACE33C1E52E2FB4B000000013031323334353637383930313233343500000000000000467073736800000000EDEF8BA979D64ACEA3C827DCD51D21ED000000261210303132333435363738393031323334351A00221030313233343536373839303132333435
bear-640x360-av_enc-av.webm - bear-640x360.webm with audio & video encrypted using key ID [1] and key [2].
bear-320x240-av_enc-v.webm - bear-320x240.webm with video track encrypted using key ID [1] and key [2].
bear-320x240-av_enc-a.webm - bear-320x240.webm with audio track encrypted using key ID [1] and key [2].
bear-320x240-v_enc-v.webm - bear-320x240-video-only.webm encrypted using key ID [1] and key [2].
bear-320x240-v-vp9_fullsample_enc-v.webm - bear-vp9.webm VP9 video only encrypted using key ID [1] and key [2] with full sample encryption.
bear-320x240-v-vp9_subsample_enc-v.webm - bear-vp9.webm VP9 video only encrypted using key ID [1] and key [2] with subsample encryption [4].
bear-320x240-opus-a_enc-a.webm - bear-opus.webm encrypted using key ID [1] and key[2].
bear-320x240-opus-av_enc-av.webm - bear-vp9-opus.webm with audio & video encrypted using key ID [1] and key[2].
bear-320x240-opus-av_enc-v.webm - bear-vp9-opus.webm with video track encrypted using key ID [1] and key[2].
bear-640x360-a_frag-cenc.mp4 - A fragmented MP4 version of the audio track of bear-640x360.mp4 encrypted (ISO CENC) using key ID [1] and key [2].
bear-640x360-a_frag-cenc-key_rotation.mp4 - A fragmented MP4 version of the audio track of bear-640x360.mp4 encrypted (ISO CENC) using key ID [1] and key [2] with key rotation [3].
bear-640x360-v_frag-cenc.mp4 - A fragmented MP4 version of the video track of bear-640x360.mp4 encrypted (ISO CENC) using key ID [1] and key [2] and with sample encryption auxiliary information in the beginning of mdat box.
bear-640x360-v_frag-cenc-senc.mp4 - Same as above, but with sample encryption information stored in SampleEncryption ('senc') box.
bear-640x360-v_frag-cenc-senc-no-saiz-saio.mp4 - Same as above, but without saiz and saio boxes.
bear-640x360-v_frag-cenc-key_rotation.mp4 - A fragmented MP4 version of the video track of bear-640x360.mp4 encrypted (ISO CENC) using key ID [1] and key [2] with key rotation [3].
bear-a_enc-a.webm - bear-320x240-audio-only.webm encrypted using key ID [1] and key [2].
frame_size_change-av_enc-v.webm - third_party/WebKit/LayoutTests/media/resources/frame_size_change.webm encrypted using key ID [1] and key [2].
bear-1280x720-hls.ts: produced using Apple's mediafilesegmenter tool with bear-1280x720.ts as input, with no encryption.
mediafilesegmenter -t 10 -start-segments-with-iframe -f 'output_clear/' bear-1280x720.ts
bear-1280x720-hls-sample-aes.ts: produced using Apple's mediafilesegmenter tool also with bear-1280x720.ts as input, but with SAMPLE_AES encryption.
(Additional TS packets were constructed manually and prepended to convey the encryption metadata, notably key id and IV).
mediafilesegmenter -S -P -k 'key_iv.bin' -t 10 -start-segments-with-iframe -f 'output/' bear-1280x720.ts
bear-1280x720-hls-with-CAT.ts: same as bear-1280x720-hls.ts but with an extra TS packet prepended. This is the same as the first of the metadata packets in
bear-1280x720-hls-sample-aes.ts. Its presence indicates that SAMPLE_AES encryption may occur later in the stream, and causes the initial audio and video configs
to have an encryption_scheme (of AES-CBC). The actual data is unencrypted, which is indicated by the lack of key ID and IV. This ends up very similar to how
clear leader of an otherwise encrypted stream can occur in MP4.
[1] 30313233343536373839303132333435
[2] ebdd62f16814d27b68ef122afce4ae3c
[3] KeyIds and Keys are created by left rotating key ID [1] and key [2] using
std::rotate for every new crypto period. This is only for testing. The
actual key rotation algorithm is often much more complicated.
[4] http://www.webmproject.org/docs/webm-encryption/#46-subsample-encrypted-block-format
// Container Tests (additional containers derived from bear.ogv)
bear.ac3 -- created using "avconv -i bear.ogv -f ac3 -b 192k bear.ac3".
bear.adts -- created using "avconv -i bear.ogv -f adts -strict experimental bear.adts".
bear.aiff -- created using "avconv -i bear.ogv -f aiff bear.aiff".
bear.asf -- created using "avconv -i bear.ogv -f asf bear.asf".
bear.avi -- created using "avconv -i bear.ogv -f avi -b 192k bear.avi".
bear.eac3 -- created using "avconv -i bear.ogv -f eac3 bear.eac3".
bear.flac -- created using "avconv -i bear.ogv -f flac bear.flac".
bear.flv -- created using "avconv -i bear.ogv -f flv bear.flv".
bear.h261 -- created using "avconv -i bear.ogv -f h261 -s:0 cif bear.h261".
bear.h263 -- created using "avconv -i bear.ogv -f h263 -s:0 cif bear.h263".
bear.m2ts -- created using "avconv -i bear.ogv -f mpegts bear.m2ts".
bear.mjpeg -- created using "avconv -i bear.ogv -f mjpeg bear.mjpeg".
bear.mpeg -- created using "avconv -i bear.ogv -f mpeg bear.mpeg".
bear.rm -- created using "avconv -i bear.ogv -f rm -b 192k bear.rm".
bear.swf -- created using "avconv -i bear.ogv -f swf -an bear.swf".
// VDA test files: test-25fps
test-25fps.h264:
Using ffmpeg SVN-r0.5.9-4:0.5.9-0ubuntu0.10.04.1 @ WebKit r122718, generated
with:
ffmpeg -i third_party/WebKit/LayoutTests/media/content/test-25fps.mp4 \
-vcodec copy -vbsf h264_mp4toannexb -an test-25fps.h264
test-25fps.h264.md5:
MD5s of RGB thumbnail rendered version of test-25fps.h264 decoded with Intel
VAAPI and V4L2VDA on various platforms.
Written out by video_decode_accelerator_unittest.
These differ between implementations because color space-converted frames are
not specified to the last bit and GLES shader/texture filtering
precision varies.
test-25fps.vp8:
ffmpeg git-2012-07-19-a8d8e86, libvpx ToT 7/19, chromium r147247,
mkvextract v5.0.1
ffmpeg -i test-25fps.h264 -vcodec libvpx -an test-25fps.webm && \
mkvextract tracks test-25fps.webm 1:test-25fps.vp8 && rm test-25fps.webm
test-25fps.vp8.md5:
MD5 of RGB thumbnail rendered version of test-25fps.vp8. Written out by
video_decode_accelerator_unittest.
test-25fps.vp9:
avconv 9.16-6:9.16-0ubuntu0.14.04.1, vpxenc v1.3.0
avconv -i test-25fps.h264 -c:v rawvideo -pix_fmt yuv420p test-25fps_i420.yuv
vpxenc test-25fps_i420.yuv -o test-25fps.vp9 --codec=vp9 -w 320 -h 240 --ivf \
--profile=0 --kf-min-dist=0 --kf-max-dist=150 --lag-in-frames=24 \
--drop-frame=0 --target-bitrate=140 --cq-level=23 --min-q=4 --max-q=56 \
--static-thresh=1000 --arnr-maxframes=7 --arnr-strength=5 --arnr-type=3 \
--cpu-used=1 --good --tile-columns=1 --passes=2 --threads=1 --fps=25/1 \
--end-usage=cq --auto-alt-ref=1 --bias-pct=50 --minsection-pct=0 \
--maxsection-pct=2000 --undershoot-pct=100
test-25fps.vp9.md5:
MD5 of RGB thumbnail rendered version of test-25fps.vp9. Written out by
video_decode_accelerator_unittest.
test-25fps.vp9_2:
Similar to test-25fps.vp9, substituting the option "--profile=0" with
"--profile=2 --bit-depth=10" to vpxenc. (Note that vpxenc must have been
configured with the option --enable-vp9-highbitdepth).
test-25fps.vp9_2.md5:
MD5 of RGB thumbnail rendered version of test-25fps.vp9_2. Written out by
video_decode_accelerator_unittest.
// VDA test files: bear
bear.h264:
Using ffmpeg version 0.8.6-4:0.8.6-0ubuntu0.12.04.1, generated with
bear.mp4 (https://chromiumcodereview.appspot.com/10805089):
ffmpeg -i bear.mp4 -vcodec copy -vbsf h264_mp4toannexb \
-an bear.h264
bear.h264.md5:
MD5s of RGB thumbnail rendered version of bear.h264 decoded with Intel
VAAPI on Ivy Bridge and Sandy Bridge and V4L2VDA on Exynos.
Written out by video_decode_accelerator_unittest.
These differ between implementations because color space-converted frames are
not specified to the last bit and GLES shader/texture filtering
precision varies.
// VDA test files: npot-video
npot-video.h264:
Using ffmpeg version 0.8.6-4:0.8.6-0ubuntu0.12.04.1, generated with
npot-video.mp4 (https://codereview.chromium.org/8342021):
ffmpeg -i npot-video.mp4 -vcodec copy -vbsf h264_mp4toannexb \
-an npot-video.h264
npot-video.h264.md5:
MD5s of RGB thumbnail rendered version of npot-video.h264 decoded with Intel
VAAPI on Ivy Bridge and Sandy Bridge and V4L2VDA on Exynos.
Written out by video_decode_accelerator_unittest.
These differ between implementations because color space-converted frames are
not specified to the last bit and GLES shader/texture filtering
precision varies.
// VDA test files: red-green
red-green.h264:
Using ffmpeg version 0.8.6-4:0.8.6-0ubuntu0.12.04.1, generated with
red-green.mp4 (https://codereview.chromium.org/8342021):
ffmpeg -i red-green.mp4 -vcodec copy -vbsf h264_mp4toannexb \
-an red-green.h264
red-green.h264.md5:
MD5s of RGB thumbnail rendered version of red-green.h264 decoded with Intel
VAAPI on Ivy Bridge and Sandy Bridge and V4L2VDA on Exynos.
Written out by video_decode_accelerator_unittest.
These differ between implementations because color space-converted frames are
not specified to the last bit and GLES shader/texture filtering
precision varies.
// VEA test files:
bear_320x192_40frames.yuv
First 40 raw i420 frames of bear-1280x720.mp4 scaled down to 320x192 for
video_encode_accelerator_unittest.
// VP9 parser test files:
bear-vp9.ivf
- Created using "avconv -i bear-vp9.webm -vcodec copy -an -f ivf bear-vp9.ivf".
bear-vp9.ivf.context
test-25fps.vp9.context
- Manually dumped from libvpx with bear-vp9.ivf and test-25fps.vp9. See
vp9_parser_unittest.cc for description of their format.
// WebM files for testing multiple tracks.
green-a300hz.webm - WebM file containing 12 seconds of solid green video + 300Hz sine wave audio
red-a500hz.webm - WebM file containing 10 seconds of solid red video + 500Hz sine wave audio
- Created with the following commands:
ffmpeg -f lavfi -i color=c=green:size=160x120 -t 12 -c:v libvpx green.webm
ffmpeg -f lavfi -i color=c=red:size=320x240 -t 10 -c:v libvpx red.webm
ffmpeg -f lavfi -i "sine=frequency=300:sample_rate=48000" -t 12 -c:v libvpx a300hz.webm
ffmpeg -f lavfi -i "sine=frequency=500:sample_rate=48000" -t 10 -c:v libvpx a500hz.webm
ffmpeg -i green.webm -i a300hz.webm -map 0 -map 1 green-a300hz.webm
ffmpeg -i red.webm -i a500hz.webm -map 0 -map 1 red-a500hz.webm
// JPEG test files:
pixel-1280x720.jpg - Single MJEPG encoded frame of 1280x720, captured on Chromebook Pixel. This image does not have Huffman table.
peach_pi-1280x720.jpg - Single MJPEG encoded frame of 1280x720, captured on Samsung Chromebook 2(13"). This image has Huffman table.
blank-1x1.jpg - 1x1 small picture to test special cases.
// MP4 files with non-square pixels.
bear-640x360-non_square_pixel-with_pasp.mp4
Size in TKHD is (639.2x360) and size in STSD is (470x360). A PASP box is
present with hSpacing=34 and vSpacing=25. Note that 470.0 * 34 / 25 = 639.2.
bear-640x360-non_square_pixel-without_pasp.mp4
Size in TKHD is (639.2x360) and size in STSD is (470x360). No PASP box is
present.
// MP4 files with AC3 and EAC3 audio
bear-ac3-only-frag.mp4
AC3 audio in framented MP4, generated with
ffmpeg -i bear.ac3 -acodec copy -movflags frag_keyframe bear-ac3-only-frag.mp4
bear-eac3-only-frag.mp4
EAC3 audio in framented MP4, generated with
ffmpeg -i bear.eac3 -acodec copy -movflags frag_keyframe bear-eac3-only-frag.mp4
// Mpeg2ts stream with AAC HE audio that uses SBR
bear-1280x720-aac_he.ts
Generated by the following command:
ffmpeg -i bear-1280x720.mp4 -c:v libx264 -c:a libfdk_aac -profile:a aac_he bear-1280x720-aac_he.ts
// Mpeg2ts streams MP3 audio
bear-audio-mp4a.6B.ts
Generated by the following commands:
ffmpeg -i bear_pcm.wav -c:a mp3 -ar 44100 bear-audio-mp4a.6B.ts
bear-audio-mp4a.69.ts
Generated by the following commands:
ffmpeg -i bear_pcm.wav -c:a mp3 -ar 22050 bear-audio-mp4a.69.ts
// MP4 file with HEVC
bear-320x240-v_frag-hevc.mp4
HEVC video stream in fragmented MP4 container, generated with
ffmpeg -i bear-320x240.webm -c:v libx265 -an -movflags faststart+frag_keyframe bear-320x240-v_frag-hevc.mp4
// Multi-track MP4 file
// (c) copyright 2008, Blender Foundation / www.bigbuckbunny.org
bbb-320x240-2video-2audio.mp4
Generated using following commands
// Download the source file with 1 video and 1 audio stream.
wget http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_1080p_30fps_normal.mp4
// Generate a scaled down to 320x240 video + 2 channel AAC LC audio from the source file.
ffmpeg -i bbb_sunflower_1080p_30fps_normal.mp4 -c:v libx264 -crf 36 -vf scale=320:240 -c:a libfdk_aac -ac 2 -t 24 bbb1.mp4
// Generate a file with the original video scaled down to 320x240 and flipped upside down and sine wave instead of audio.
ffmpeg -i bbb_sunflower_1080p_30fps_normal.mp4 -f lavfi -i "sine=frequency=500:sample_rate=48000" -map 0:v -map 1:a -c:v libx264 -crf 36 -vf scale=320:240,vflip -c:a libfdk_aac -ac 2 -t 24 bbb2.mp4
// Combine the two files generated above into a single fragmented .mp4 file with 2 video and 2 audio tracks.
ffmpeg -i bbb1.mp4 -i bbb2.mp4 -map 0:0 -map 0:1 -map 1:0 -map 1:1 -c:v copy -c:a copy -movflags frag_keyframe+omit_tfhd_offset+separate_moof bbb-320x240-2video-2audio.mp4
// Multi-track WebM file
multitrack-3video-2audio.webm
//Generated using following commands:
ffmpeg -f lavfi -i color=c=red:size=320x240 -t 5 -c:v libvpx red.webm
ffmpeg -f lavfi -i color=c=green:size=320x240 -t 5 -c:v libvpx green.webm
ffmpeg -f lavfi -i color=c=blue:size=160x120 -t 10 -c:v libvpx blue.webm
ffmpeg -f lavfi -i "sine=frequency=300:sample_rate=48000" -t 10 -c:v libvpx a300hz.webm
ffmpeg -f lavfi -i "sine=frequency=500:sample_rate=48000" -t 5 -c:v libvpx a500hz.webm
ffmpeg -i red.webm -i green.webm -i blue.webm -i a300hz.webm -i a500hz.webm -map 0 -map 1 -map 2 -map 3 -map 4 multitrack-3video-2audio.webm