Viacom Inc said on Tuesday it will buy Pluto TV, a free video streaming TV service, for $340 million in cash to expand its advanced advertising business.