como usar o h264_omx no RaspberryPi

0

Estou usando o RaspberryPi 1gen B +, para envio de fluxo para a Web por meio do rtmp. Mas acho que o uso da minha CPU chegou a 90% +. É assim que eu uso:

ffmpeg -re -f concat -safe 0 -i playlist.txt -vcodec copy -acodec aac -f flv "rtmp://example.com:1060"

então eu quero usar a GPU para decodificar / codificar. Após pesquisar no Google, encontrei "h264_omx" e implementei o h264_omx:

pi@pi:/usr/src/ffmpeg $ sudo ./configure --enable-omx --enable-omx-rpi
sudo make
sudo make install

então eu uso:

ffmpeg -re -f concat -safe 0 -i playlist.txt -vcodec h264_omx -acodec aac -f flv "rtmp://example.com:1060"

a saída está aqui:

Mas o uso da CPU ainda corre para 90% +, o que é pior, o vídeo fica indistinto e só tem 5fps.

então, o que há de errado comigo? É possível que o 1gen B + seja codec de hardware?

    
por Wayne Chen 26.06.2017 / 04:23

1 resposta

0

Acho que consegui executar o que você está procurando.
Eu uso minha configuração para transmitir a partir do meu PC em ~ 50000KBit ~ 720p H264 local para o meu RaspberryPi3 executando um servidor nginx / rtmp e triturar o fluxo via ffmpeg com aceleração de hardware e enviar este fluxo do que para se contorcer em 3500KBit. É isso que você está procurando? Na primeira olhada, acho que você está perdendo a aceleração da decodificação.

Fluxo # 0: 1 - > # 0: 0 (h264 (nativ) - > h264 (h264_omx))
Você decodifica o fluxo com o codec de software e codifica novamente com o codec de hardware. o codec de software está causando a cuspideira da CPU.

Fluxo # 0: 1 - > # 0: 0 (h264 (h264_mmal) - > h264 (h264_omx))
Dessa forma, você usa a aceleração de hardware h264_mmal para decodificar e a aceleração de hardware h264_omx para codificar.

Eu trabalho em um script de instalação para esta configuração e estou disposto a compartilhar. Se é isso que você procura, posso ajudá-lo.
Você pode ver os resultados no meu canal de contração link

    
por 27.06.2017 / 21:44