grepGNU grep can grab context by lines (-A LINES for context after, -B LINES for context before, and -C LINES for context both before and after) but it does not have a flag for horizontal context. You can do that with a regex though:
(-E uses Extended Regular Expressions (ERE), allowing for syntax like .{0,10} (match any character zero to ten0–10 times). GNU grep's -o displays only the matched content, one match per line.)
If your version of grep doesn't support -P or -o, you can use perl:
This modifies the regex slightly to include a matching group so we can refer to the matched text later. Otherwise, it's just a loop on each match (the g matches globally rather than just the first time) that then prints the match with a newline.
GNU vs POSIX grep
GNU grep adds a lot of functionality atop the POSIX standard grep. Specific to this answer, -A LINES (lines of context after), -B LINES (lines of context before), -C LINES (lines of context both before and after), -o (show only the match), and -P (use PCRE) are all available in GNU grep but cannot be assumed for other grep implementations. BSD grep supports all of them except -P, but GNU grep is often preferred by BSD users due to GNU's performance optimizations.
Both GNU and BSD grep commands also support --color, which you could use as an alternative to -o. This will end up showing entire lines with the matching text ("media" plus its 0–10 characters of context) colored.
A final note: A comment to the question used the syntax .{,5}, which works in grep -E but almost nowhere else (certainly neither grep -P nor perl). It is a bad habit to use that format rather than explicitly including the zero in .{0,5}.