Remuxer
Lossless container rewrite: ffmpeg -c copy. Packets move from input to output without touching a decoder or encoder, so a full-length movie remuxes in seconds and bit-exact quality is preserved. Use it to change containers (mp4 → mkv), strip streams, cut on keyframes, or re-wrap after a download.
Lossless container rewrite: ffmpeg -c copy. Packets move from input to output without touching a decoder or encoder, so a full-length movie remuxes in seconds and bit-exact quality is preserved. Use it to change containers (mp4 → mkv), strip streams, cut on keyframes, or re-wrap after a download.
Lossless container rewrite: ffmpeg -c copy. Packets move from input to output without touching a decoder or encoder, so a full-length movie remuxes in seconds and bit-exact quality is preserved. Use it to change containers (mp4 → mkv), strip streams, cut on keyframes, or re-wrap after a download.
Lossless container rewrite: ffmpeg -c copy. Packets move from input to output without touching a decoder or encoder, so a full-length movie remuxes in seconds and bit-exact quality is preserved. Use it to change containers (mp4 → mkv), strip streams, cut on keyframes, or re-wrap after a download.
Functions
Copy streamIndices (default: every stream the demuxer understands) from input into a fresh container at output. Format inferred from the output extension.
remux with pre-open options for input, applied the way MediaSource.open applies them. On Android this reads a file the user picked without copying it: pass "fd:" as input and the descriptor number as the fd option. Every other parameter is as in the path overload.
remux from bytes the caller supplies into bytes the caller keeps, with no path at either end. Every other parameter is as in the path overload.
Copy streamIndices (default: every stream the demuxer understands) from input into a fresh container at output. Format inferred from the output extension.
remux with pre-open options for input, applied the way MediaSource.open applies them. On Android this reads a file the user picked without copying it: pass "fd:" as input and the descriptor number as the fd option. Every other parameter is as in the path overload.
remux from bytes the caller supplies into bytes the caller keeps, with no path at either end. Every other parameter is as in the path overload.
Copy streamIndices (default: every stream the demuxer understands) from input into a fresh container at output. Format inferred from the output extension.
remux with pre-open options for input, applied the way MediaSource.open applies them. On Android this reads a file the user picked without copying it: pass "fd:" as input and the descriptor number as the fd option. Every other parameter is as in the path overload.
remux from bytes the caller supplies into bytes the caller keeps, with no path at either end. Every other parameter is as in the path overload.