Передача avs в ffmpeg с использованием avs2yuv - PullRequest
2 голосов
/ 12 декабря 2011

Я пытаюсь использовать avs2yuv для передачи выходных данных avs в ffmpeg для дальнейшего преобразования.

  • Мой видеофайл называется "sample.avi" (без звука, только видео)

  • Мой аудиофайл называется "sample.wav"

  • Мои файлы avs называются sample.avs и выглядят так:

V = AviSource("sample.avi")
A = WavSource("sample.wav")
AudioDub(V ,A)

или

V = DirectShowSource("sample.avi")
A = DirectShowSource("sample.wav")
AudioDub(V ,A)
  • Вот как я трубу:
avs2yuv sample.avs - | ffmpeg -y -f yuv4mpegpipe -i - output.mp4

Теперь вот ПРОБЛЕМА: независимо от того, какие файлы я пытаюсь использовать в качестве входных данных, в моих выходных данных нет звука. Я не понимаю, что я делаю неправильно, и почему мой звук не попадает на выход. Если у кого-то есть опыт работы с avisynth и avs2yuv, ваша помощь будет принята с благодарностью.

Спасибо!

Ответы [ 3 ]

0 голосов
/ 11 января 2012

Согласно этой ссылке :

Avs2YUV - это программа командной строки, предназначенная для использования под Wine, для взаимодействия между Avisynth и видеоинструментами на основе Linux.

avs2yuv.exe обрабатывает только видеопоток, который он выводит в цветовом пространстве YUV.Это так просто: аудиопоток игнорируется.

Вот несколько способов обработки как аудио-, так и видеопотоков в .avs.Эти методы работают в Linux с использованием wine и, конечно, работают в Windows:

  • Кодирование в Avidemux через AvsProxy (AvsProxy поставляется с Avidemux)

  • Использование VirutalDub в качестве графического интерфейса пользователя

  • в противном случае аудио кодируют отдельно, а затем воспроизводят видео в отдельном шаге.

Я считаю, avs2pipe может обрабатывать как видео, так и аудио потоки с .avs, но я еще не пробовал.Вот ссылка на некоторую информацию о avs2pipe

Описание: Использование avs2yuv в основном имеет смысл в среде Linux / Unix.

0 голосов
/ 29 августа 2014

Попробуйте makeAVIS.exe из пакета ffdshow:

wine makeavis.exe -p -i example.avs -a output.wav
0 голосов
/ 12 декабря 2011

Я бы попробовал воспроизвести ваш файл avs с помощью ffplay, чтобы проверить ваш файл avs.

И вы также можете попробовать построить GRaph с GraphEdit, чтобы сделать что-то подобное

A = DirectShowSource("sample_audio.grf", video=false)
V = DirectShowSource("sample_video.grf", audio=false)
AudioDub(V ,A)

С DirectShow вы можете добавить несколько параметров, таких как fps, frame-count и т. Д., Иногда это помогает.

Удачи

...