Skip to content
Will Law edited this page May 25, 2016 · 21 revisions

Content Prep

Encoding/transcoding is a pretty complex topic. The FFmpeg/x264/mp4box workflow is generally fine and it is what we use in the Axinom reference encoder. My general suggestions regarding the most critical points in this regard:

  • Always use DASH live profile (mp4box -profile "dashavc264:live")
  • Ensure that your encoder uses a fixed keyframe distance that is equal to your segment size (or a multiple of which is equal to it); FFmpeg has some defects here leading to bad output; with x264 the following works: --keyint 59 --min-keyint 59 --no-scenecut
  • Use dash-strict mode with mp4box if you use fixed keyframe distances (mp4box -dash-strict 4000) - the default dash mode produced unexpected deviations last I tried it
  • To avoid FFmpeg being clever with frame drop/duplication, use -vsync passthrough
  • Watch out for aspect ratio issues! Not all input content has SAR 1:1!
  • Do not use bitstream switching (mp4box -bs-switching no)
  • If using encryption, put PSSH box information only in the manifest; (no PSSH data in crypt.xml for mp4box); also mp4box -sample-groups-traf made encrypted video work better in more players but I forget why

Codecs

Networking

Flow Chart Diagrams

Clone this wiki locally