Проблема со звуком Gstreamer во встроенном Linux

Работаю на встроенном линуксе. Я хочу воспроизводить видео с минимальным процессором. Поэтому после компиляции я попытался воспроизвести видео с помощью mplayer и gstreamer. Mplayer использует ЦП в среднем% 10-20. Я хочу получить эту работу на gstreamer. Итак, я попробовал эту команду:

1- gst-launch filesrc location=video_path.mpeg ! mpegdemux ! mpeg2dec ! autovideosink

2-gst-launch-0.10 filesrc location=video_path.mpeg ! dvddemux ! mpegvideoparse ! mpeg2dec ! xvimagesink

Эти команды используют в среднем 10-20% ЦП. Этот номер, который я хочу номер. Но звук не работал с этой командой. Я попытался добавить аудиоэлемент, но не смог этого добиться.

Я также пробовал gst-launch-1.0 playbin uri=file:///video_path.mpeg. Аудио работает с этой командой, но загрузка процессора настолько высока, что я не предпочитаю это.

Как я могу работать со звуком с помощью 1 или 2 команд?


person Faruk    schedule 01.07.2019    source источник


Ответы (1)


1- gst-launch filesrc location=video_path.mpeg ! mpegdemux ! мпег2дек ! автовидеосинк

2-gst-launch-0.10 filesrc location=video_path.mpeg ! dvddemux ! мпегвидеопарс ! мпег2дек ! xvimagesink

С двумя вышеуказанными конвейерами вы просите gtreamer просто воспроизводить видео, в результате вы не получаете никакого звука.

gst-launch filesrc location=video_path.mpeg ! mpegdemux name=демультиплексор demuxer. ! очередь ! мпег2дек ! демультиплексор автовидеосинка. ! очередь ! без ума ! аудиоконвертер! аудиоресемпл! автоаудиосинк

Приведенный выше конвейер должен воспроизводить как аудио, так и видео.

Примечание. Если у вас есть поддержка аппаратного декодирования, это уменьшит дальнейшее использование ЦП.

person Prabhakar Lad    schedule 01.07.2019
comment
Кроме того, GstElement должен использовать эту форму: mpegdemux name=demuxer demuxer.video_00 и autovideosink demuxer.audio_00. В противном случае вы можете увидеть предупреждение:pipeline: could not link queue0 to mpeg2dec0 - person Faruk; 02.07.2019
comment
Как я могу сделать то же самое с fbdevsink? Вы можете помочь с этим? Большое спасибо. - person Faruk; 15.08.2019