Элемент gstreamer0.10 filesrc не может найти файл
Я хочу проанализировать видео в формате mp4 по:
gst-launch-0.10 filesrc location=file:~/examples/fullstream.mp4 ! tsparse ! tsdemux ! queue ! ffdec_h264 max-threads=0 ! ffmpegcolorspace ! autovideosink name=video
или же
gst-launch-0.10 filesrc location=http://192.168.40.228:8080/fullstream.mp4 ! mpegtsdemux ! queue ! ffdec_h264 max-threads=1 ! ffmpegcolorspace ! autovideosink name=video
Но терминал показывает:
Setting pipeline to PAUSED ...
ERROR: Pipeline doesn't want to pause.
ERROR: from element /GstPipeline:pipeline0/GstFileSrc:filesrc0: Resource not found.
Additional debug info:
gstfilesrc.c(1042): gst_file_src_start (): /GstPipeline:pipeline0/GstFileSrc:filesrc0:
No such file "file:/home/zhaozhenjie/examples/fullstream.mp4"
Setting pipeline to NULL ...
Freeing pipeline ...
~/examples/fullstream.mp4
существует. Итак, я хочу спросить, что не так с кодом? Я использую Ubuntu 14.04.
1 ответ
Решение
Вы не можете использовать filesrc для сетевого потока. Для http-файла вы должны использовать souphttpsrc - он был доступен также в GStreamer 0.10
gst-launch-0.10 souphttpsrc location=http://192.168.40.228:8080/fullstream.mp4 ! qtdemux name=demuxer demuxer. ! queue ! faad ! audioconvert ! audioresample ! autoaudiosink demuxer. ! queue ! ffdec_h264 ! ffmpegcolorspace ! autovideosink
ОБНОВИТЬ
Это для использования filesrc - формат пути - это просто нормальный абсолютный путь или относительный путь от места, где вы выполняете (при необходимости используйте двойное "вокруг"):
gst-launch-0.10 filesrc location=/home/user/examples/fullstream.mp4 ! qtdemux name=demuxer demuxer. ! queue ! faad ! audioconvert ! audioresample ! autoaudiosink demuxer. ! queue ! ffdec_h264 ! ffmpegcolorspace ! autovideosink
Это должно быть также может работать..
gst-launch-0.10 filesrc location=~/examples/fullstream.mp4 ...