Formats · the card, in public

What Sialk Player plays.

Sialk Player plays what the browser engine inside it decodes, and nothing it cannot. The list is short so that a file either plays or is refused on the card before it reaches the wall, never black on the night.

Plays

Video: H.264, HEVC (H.265), VP8, VP9 and AV1, up to 4K, in .mp4, .m4v, .mov, .webm, .mkv and .ogv. H.264 and HEVC decode in hardware on Apple silicon and cost the least; VP9 and AV1 play, at more CPU.

Stills: .jpg, .png, .webp, .gif and .avif, each held on the wall for the seconds typed on its row.

Sound: AAC, MP3, Opus, Vorbis, FLAC and PCM.

Subtitles: a file beside the video (film.srt, film.vtt, or film.en.srt), or one chosen from anywhere on the disk. A track embedded in an MKV is read only where the Mac has its own ffmpeg; Sialk Player carries none.

Does not play

ProRes and DNxHD. There is no decoder for them in the engine. A .mov is flagged on the card because it so often carries ProRes.

AC-3, E-AC-3, DTS and TrueHD sound. Common in film rips, and they fail quietly: the picture is perfect and the room is silent. The card flags a file whose sound nothing can decode.

Bitmap subtitles (PGS, VobSub): pictures, not text, so they are left out of the list rather than offered and then failing.

The one command

With ffmpeg on any Mac, each of these is one line. The output plays in Sialk Player and in everything else.

A picture the engine cannot decode (ProRes, DNxHD):

ffmpeg -i input.mov -c:v libx264 -crf 18 -preset slow -pix_fmt yuv420p -c:a aac output.mp4

Sound the engine cannot decode, keeping the picture as it is:

ffmpeg -i input.mkv -c:v copy -c:a aac -b:a 192k output.mkv

Bitmap subtitles, burnt in:

ffmpeg -i input.mkv -filter_complex "[0:v][0:s:0]overlay" -c:a copy output.mkv

Prepare for the wall

The same three conversions, one key. A file the wall cannot play, or would play silent, shows a warning on its row and Prepare for the wall beside it. Press it and Sialk Player reads what the file is, does the one conversion that helps (H.264 for an opaque picture, WebM VP9 with its alpha for a transparent one, AAC for sound that would be silent), shows the progress on the row, and puts the result in the running order in the original's place. The original is never touched; the new file sits beside it, named for the wall.

It runs on the ffmpeg already on the Mac, never one Sialk ships. Without one, the key says so: brew install ffmpeg, once.