HLS + jellyfin still transcode when the container is piped via ssh like
this. I attempted to use mkclean(8) and mkvalidator(8) from Matroska
streaming project but they did not fix anything. Using ffmpeg and
skipping any additional muxing allows for the hard work to be done on a
beefier machine, and a quick 150-200x repacking to be done on the
weaker headless box.
-f matroska \
- | \
ssh mbp '"'"'cat > "@".new'"'"''
+# TODO this cat generates an .mkv container with invalid timestamps or something else Jellyfin + HLS
+# can't understand. Requires reconstruction on the other side.
+# it's often re-encoded at >150x speed so it's not important, but maybe it should be piped to ffmpeg
+# on the other system automatically.
+# ffmpeg -i $out.mkv.new -map 0 -vcodec copy -acodec copy $out.mkv.new.mkv