Você pode tirar o "--percentage=", você só precisa passar a porcentagem pro zenity, ex:
(
echo "00"; sleep 1
echo "33"; sleep 1
echo "66"; sleep 1
echo "100"
) |
zenity --progress --title="Aguarde..."
Se for pra seguir o original, uma saída é ler o arquivo enquanto o mencoder existe, algo como
while [ -n "`mencoder`" ] ; do
cat /tmp/mencoder-log | filtro | zenity --progress --title="Aguarde..."
done
O "filtro" é a remoção de qualquer coisa diferente da porcentagem.
Humm...
E como poderia ser esse filtro?
Tentei colocar o que já tinha no script:
cat /tmp/mencoder-log$$ | sed '$!d;s/(.*)//;s/A.*//;s/V//' /tmp/mencoder-log$$ | zenity --progress --title "Aguarde..."
Não funcionou. Ficou uma janela com um botão OK na tela direto. Eu dava OK e ela reaparecia, mesmo depois da conversão concluída.
Então tive a ideia de jogar o filtro para dentro do zenity:
cat /tmp/mencoder-log$$ | zenity --progress --title "Aguarde..." --text $(sed '$!d;s/(.*)//;s/A.*//;s/V//' /tmp/mencoder-log$$)
Também não deu certo, porque dá erro no sed.
Então gerei outro log só com a saída e tentei inseri-lo no zenity:
cat /tmp/mencoder-log$$ | sed '$!d;s/(.*)//;s/A.*//;s/V//' /tmp/mencoder-log$$ > /tmp/mencoder-percent$$ 2> /dev/null | zenity --progress --title "Aguarde..." --text $(cat /tmp/mencoder-percent$$)
E também não funcionou

Já a primeira opção, só funcionaria se a porcentagem estivesse associada ao mencoder, não? Ou eu estou enganado? E para ficar legal teria de ter mais parâmetros, pois vídeos grandes demorariam muito para a barra de progresso aumentar.
Mesmo com isso tudo, acredito que já estamos chegando no objetivo.