The Aquarius, chartered by SOS-Mediterranee and Doctors Without Borders (MSF), was informed by the Italian coastguard of the presence of an overloaded boat off the coast of Tripoli, reported the photographer on board the NGO boat.

But Rome also alerted the Libyan coastguard which took charge of coordinating the rescue operation and banned the NGO ship from approaching, also ordering it to move away when migrants jumped into the water to avoid being picked up by the Libyans.

The Libyan navy later announced it had rescued more than 300 migrants in three separate operations, reporting one dead and three missing.

The two victims were with 114 other migrants including 21 women and four children, said a Libyan navy spokesman, General Ayoub Kacem, although he declined to say whether they had been aboard the boat seen by the Aquarius.

And he warned that tensions between the Libyan coastguard and the NGO boats could worsen over coming days if they continued to approach stricken boats.

The Libyan coastguard has previously accused NGOs of causing panic and confusion by their presence during rescues as the migrants all surge to reach the charter boats to avoid being returned to Libya.

But Italian deputy Riccadro Magi, who was present on board the Astral, a boat chartered by the Spanish NGO Proactiva Open Arms, earlier Sunday when it rescued 105 migrants, accused the Libyans of being heavy-handed.

"The Libyans act as pirates in international waters demanding that they be recognised as an authority. They act outside the law and they do so with the means provided by the Italian government," he said on Twitter.