test-content.md 2.2 KB

Creating Test Content

Table of Contents

Creating CEA-608 Content

  • Use ffmpeg to create an MP4 file to start with:

ffmpeg -f lavfi -i testsrc=duration=300:size=1280x720:rate=30 -profile:v baseline -pix_fmt yuv420p output.mp4 (no audio)

ffmpeg -f lavfi -i testsrc=duration=300:size=1280x720:rate=30 -profile:v baseline -pix_fmt yuv420p -filter_complex "anoisesrc=d=300" output.mp4 (audio + video)

This uses ffmpeg's built-in testsrc source which generates a test video pattern with a color and timestamp. For this example, we are using a duration of 300 seconds, a size of 1280x720 and a framerate of 30fps. We also specify extra settings profile and pix_fmt to force the output to be encoded using avc1.42C01F.

  • Create an srt file with the captions you would like to see with their timestamps.

  • Use ffmpeg to convert ouput.mp4 to a flv file:

ffmpeg -i output.mp4 -acodec copy -vcodec copy output.flv

  • Use libcaption to embed the captions into the flv:

flv+srt output.flv captions.srt with-captions.flv

  • Use ffmpeg to convert with-captions.flv to mp4

ffmpeg -i with-captions.flv -acodec copy -vcodec copy with-captions.mp4

  • Use Bento4 to convert the file into a FMP4 file:

`bento4 mp4fragment with-captions.mp4

--verbosity 3 \
--fragment-duration 4000 \
--timescale 90000 \
with-captions-fragment.mf4`

Then do either of the following:

  • Use Bento4 to split the file into an init segment and a fmp4 media segments:

`bento4 mp4split --verbose

--init-segment with-captions-init.mp4 \
--media-segment segs/with-captions-segment-%llu.m4s \
with-captions-fragment.mf4`
  • Use Bento4 to create a DASH manifest:

`bento4 mp4dash -v

--mpd-name=with-captions.mpd \
--init-segment=with-captions-init.mp4 \
--subtitles
with-captions-fragment.mf4`

This will create a DASH MPD and media segments in a new directory called output.