我正在使用TI DM365 EVM录制视频和音频。我需要对这两个流进行编码并将它们保存在.avi或.mp4之类的容器文件中。我正在使用以下gstreamer管道:使用gstreamer将同步视频和音频录制到容器文件中
gst-launch v4l2src always-copy = FALSE num-buffers = -1 do-timestamp = TRUE! 'video/x-raw-yuv,format =(fourcc)NV12,width = 1280,height = 720,framerate = 30/1'!队列! TIVidenc1 codecName = h264enc engineName = codecServer byteStream = false genTimeStamps = true!队列! MUX。 alsasrc num-buffers = -1 typefind = TRUE do-timestamp = TRUE! audio/x-raw-int,width = 16!队列! TIAudenc1 codecName = aaclcenc engineName = codecServer genTimeStamps = true name = aenc!队列! MUX。 avimux name = mux!文件接收地点= vidaudtest.avi SYNC = TRUE
的结果是,我得到一个.avi文件,但是当我播放的文件回用图腾电影播放器在PC上,视频太快播放而音频播放以正常的速度。例如,在5分钟的文件中,视频在40秒内完成播放。
此外,在录制时,我得到一些这些消息:
WARNING: from element /GstPipeline:pipeline0/GstAlsaSrc:alsasrc0: Can't record audio fast enough
Additional debug info:
gstbaseaudiosrc.c(822): gst_base_audio_src_create(): /GstPipeline:pipeline0/GstAlsaSrc:alsasrc0:
Dropped 33516 samples. This is most likely because downstream can't keep up and is consuming samples too slowly.
有其他人看到这种行为?任何想法或解决方案?
我做了视频速率的gst检查,它没有force-fps参数。我尝试使用没有参数的videorate,但它没有帮助。但是,我可以将没有音频的视频流录制到avi容器中。有没有其他参数可以调整? – user1766616
hmm,我的'videorate'(gst-plugins-base-0.10.36)确实有firce-fps字段。 –