首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在gstreamer中录制音频和视频

如何在gstreamer中录制音频和视频
EN

Stack Overflow用户
提问于 2018-03-14 05:18:44
回答 3查看 6.9K关注 0票数 4

我是gstreamer的新手,我想把音频和视频都保存成.mp4格式,用摄像头录制视频,用MIC录制音频--这是我的管道。

gst-启动-1.0 -e v4l2src!排队!x264enc!h264parse!排队!qtmux0。阿尔萨斯克!‘音频/x-原始,rate=44100,depth=24’!声音转换!声音很好!哇!啊哈!qtmux!文件墨迹location=test.mp4

当我执行它时,视频只录制了10秒--音频甚至没有录制,它给出了一些信息,比如

警告: from /Gst管道:管线0/GstAlsaSrc:alsasrc0 0:无法录制足够快的音频附加调试信息:gstaudobasesrc.c(866):gst_audio_base_src_create ():/gst管道:管道0/GstAlsaSrc:alsasrc0 0:丢弃425565样例。这很可能是因为下游无法跟上,而且消耗的样本太慢。

帮我度过这段时间谢谢

EN

回答 3

Stack Overflow用户

发布于 2020-11-11 07:02:04

尝试使用以下管道将音频和视频记录到一个文件中。

代码语言:javascript
复制
gst-launch-1.0 -e v4l2src device="/dev/video0" ! videoconvert ! queue ! x264enc tune=zerolatency ! mux. alsasrc device="hw:2" ! queue ! audioconvert ! audioresample ! voaacenc ! aacparse ! qtmux name=mux ! filesink location=test.mp4 sync=false
票数 4
EN

Stack Overflow用户

发布于 2018-03-14 07:28:09

现在它已经把音视频录得很好了

在这里,管道

gst-启动-1.0 -e v4l2src!‘width=960 /x-raw,height=720,framerate=30/1’!排队!x264enc tune=zerolatency!穆克斯。阿尔萨斯克!width=16,depth=16,rate=44100,channel=1!排队!声音转换!声音很好!哇!啊哈!qtmux name=mux!文件墨迹location=test.mp4 sync=false

如果还有什么不正确的地方请告诉我。

票数 0
EN

Stack Overflow用户

发布于 2021-03-29 07:04:10

最后我使用了那个(改编自网络的随机响应,很抱歉我失去了来源)。

raspivid -t 0 --vflip --hflip -w 1920 -h 1080 -fps 30 --bitrate 14000000 --profile baseline -3d sbs --intra 30 --inline --flush --awb auto --exposure auto --sharpness 0 --contrast -15 --digitalgain 0.0 -o - | gst-launch-1.0 -ve fdsrc num-buffers=-1 ! video/x-h264,width=1920,height=1080,framerate=30/1 ! h264parse ! queue ! smux.video alsasrc device=hw:2,0 ! audio/x-raw,format=S32LE,rate=48000,channel=2 ! audioconvert ! avenc_aac ! aacparse ! queue ! smux.audio_0 splitmuxsink name=smux location=video.mp4 muxer=mpegtsmux

注意,这是为了捕捉立体图像,你可以放下"-3d sds“,并适应宽度的单个凸轮。您还可以安全地删除只对调试有用的-ve,并将音频设备hw更改为捕获卡的编号($ arecord -l用于查找卡的id )。

我更喜欢使用qtmux,但由于在raspivid制作的h264流中缺少PTS信息,它失败了。mpegtsmux很高兴。

到目前为止,所产生的mpeg是半坏的,不能被所有的玩家读取(快速时间失败,而vlc是快乐的)。使用ffmpeg重新编码:ffmpeg -vcodec mpeg4 -b:v 7561k -qscale:v 2 -acodec aac -ac 2 -async 1 -strict experimental ./video2.mp4 -threads 0 -i video.mp4修复了文件。

希望这对某人有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49270207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档