Como usar 'wine' e AviSynth e Avs2YUV com 'mplayer / mencoder' (ou qualquer player / codificador)

2

Eu tenho um monte de scripts AviSynth (.avs) que criam uma montagem de fotos de texto e vídeo, mas até ontem eu tinha sem sorte com scripts AviSynth em 'wine'.
Eu li sobre um programa 'Windows' chamado Avs2YUV que, de acordo com , é platinum e é "destinado ao uso sob o Wine para fazer a interface entre o Avisynth e as ferramentas de vídeo baseadas em Linux ".

Eu tive sucesso parcial com alguns scripts muito simples , mas "parcial" significa que eu não sei como usá-lo corretamente, ou o AviSynth -Avs2YUV combo não funciona corretamente (ou ambos).

Abaixo, são 2 scripts:
O primeiro produz e salva somente o vídeo (como pretendido), mas eu gostaria de saber se é possível canalizar o stdout do Avs2YUV diretamente para um media player do Linux ... Eu tentei algumas opções, mas nada parece funcionar . Por outro lado, o arquivo .264 salvo é reproduzido, então AviSynth e Avs2YUV estão fazendo algo aqui. ( Um pré-lançamento rápido EDIT : Acabei de corrigir um erro de digitação onde eu coloquei .avi em vez de.264, e percebi que eu realmente não sei o que faz x264 (eu sou tão acostumado a avi codificação, mas tenho esse sentimento de que pode ser codificador somente de vídeo ???? ... então eu vou mencionar agora, eu não tenho nenhum interesse particular em x246 .. Foi no exemplo que eu segui .. Eu só quero produzir um vídeo + áudio jogável .. o wrapper e codecs não são particularmente importantes para mim .. Estou feliz com avi .. na verdade eu prefiro porque funciona bem com AviSynth .. Catch-22 ...

O segundo se comporta muito como o primeiro, mas não produz áudio; qual deveria.

Os scripts do AviSynth são bem conhecidos e podem ser reproduzidos diretamente por muitos jogadores (no Windows), mas com essa necessidade de usar Avs2YUY, eu estou um pouco em território desconhecido ...

Eu apreciaria algumas dicas sobre esses dois assuntos, e talvez haja uma maneira completamente diferente de usar o AviSynth no vinho, além do que em conjunto com o Avs2YUV ... ou a idéia de usar o AviSynth no Linux é apenas um mito?

Aqui estão os scripts:

# Script-1: The saved file plays fine (the source has no audio),
#            but how can I play it directly
#
cd $HOME/.wine/drive_c
echo 'version()' > version.avs
wine  avs2yuv.exe  version.avs - \
    | x264 --stdin y4m --output version.264 -
mplayer version.264
#
# Script-2: The saved file has no audio, but it should.
#        ...and like Script-1, how can I play it directly
cd $HOME/.wine/drive_c
echo 'avisource("video.avi")' > video.avs
wine  avs2yuv.exe  video.avs - \
    | x264 --stdin y4m --output video.264 -
mplayer video.264
    
por Peter.O 26.03.2011 / 07:52

2 respostas

1

Eu encontrei uma solução de trabalho razoável que permite que o áudio e o vídeo sejam processados em uma passagem única (normal) do script AviSynth ...

... avidemux2 + avsproxy para o resgate!

Ele tem algumas limitações, como não lidar com DirectShowSource () muito bem ... DirectShowSource foi útil, porque detectado automaticamente o tipo de vídeo / áudio, mas normalmente há outras maneiras de contornar isso.

Eu fiz alguns testes menores, e ele processou uma montagem de dois painéis de texto (usando o formato de legendas .AAS em unicode) e outro painel de uma imagem com legendas. Parece lidar com vídeo simples sem problemas ... eu tive que ajustar algumas coisas menores, mas parece manejável ... É certamente funcional o suficiente para que eu vou continuar com ele, para encontrá-lo de peculiaridades :)

Tanto avsproxy e avidemux2 têm CLI e GUI interfaces de ... Se eu conseguir do CLI para trabalhar juntos, então eu estou muito perto de conseguir um AviSynth para jogar diretamente em um player de mídia ... avidemux2 pode ser definido como "cópia", ea consequente avi saída pode ser canalizada diretamente para um jogador (espero) ... É bom olhar ...

    
por 27.03.2011 / 15:44
1

Acabei de me perguntar (& google) a mesma questão (de como reproduzir diretamente a saída do avisynth sem passar por um processo de codificação primeiro), e o que o Google criou foi esse bom wrapper que foi construído na rotina para isso:

link

(você precisa rolar um pouco para baixo)

    
por 26.07.2013 / 17:27