首页 > 其他分享 >buildroot ffmpeg 及 PJSIP安装使用详解

buildroot ffmpeg 及 PJSIP安装使用详解

时间:2025-01-06 18:04:44浏览次数:9  
标签:buildroot 01 ffmpeg -- dev PJSIP hifi file wav

目录

  • 硬件: rk3568平台, 系统: buildroot, 交叉编译pjsip,并介绍pjsip录放音常用测试验证命令, 以及ffmpeg音视频频采集命令。

buildroot pjsip安装

编译

 ./configure CC=/home/ney/test/sdk419/RK356x/buildroot/output/rockchip_rk3568/host/bin/aarch64-buildroot-linux-gnu-gcc CXX=/home/ney/test/sdk419/RK356x/buildroot/output/rockchip_rk3568/host/bin/aarch64-buildroot-linux-gnu-g++  --host=arm-linux-gnueabihf  --enable-static --prefix=/home/ney/tool/pjproject-2.13.1/tmp --disable-libwebrtc --disable-libyuv  --disable-ssl
 
make dep && make
#链接失败Relocations in generic ELF (EM: 62)
#原因一: 是同一目录编译过x86版本,没有clean干净
#原因二: configure 参数中未配置CXX,部分程序是用CXX编译的。
make clean
 rm -rf /pjsip-apps/build/output/ ./pjmedia/build/output/ ./pjlib-util/build/output/ ./pjnath/build/output/ ./pjnath/build/output ./pjlib/build/output


 ./pjsua-arm-unknown-linux-gnueabihf --capture-dev=0 --playback-dev=0
 

声卡验证

#放音验证,确认pjsua使用了正常的声卡
./pjsua --play-file file.wav

#指定 录音及放音设备
./pjsua-arm-unknown-linux-gnueabihf --playback-dev=0 --capture-dev=0 --log-level=5 --play-file file.wav



##使用pjsip提供的工具录音, 其使用的是pulse接口库。【 PulseAudio Sound Server】
oot@RK356X:~/pjsip-bin/samples/arm-unknown-linux-gnueabihf# ./recfile file.wav 
01:36:50.744         os_core_unix.c !pjlib 2.13.1 for POSIX initialized
01:36:50.794             alsa_dev.c  Added sound device pulse
01:36:50.801             alsa_dev.c  Added sound device default
01:36:50.808             alsa_dev.c  Added sound device sysdefault:CARD=rockchiprk809co
01:36:50.809             alsa_dev.c  Added sound device sysdefault:CARD=ROCKCHIPSPDIF
01:36:50.811             alsa_dev.c  Added sound device sysdefault:CARD=rockchiphdmi
01:36:50.824             alsa_dev.c  ALSA driver found 5 devices
01:36:50.824             alsa_dev.c  ALSA initialized
01:36:50.824                  pjlib  select() I/O Queue created (0x33397108)
01:36:50.828           wav_writer.c  File writer 'file.wav' created: samp.rate=44100, bufsize=4KB
01:36:50.828             alsa_dev.c  open_capture: Open capture device 'pulse'
01:36:50.837             alsa_dev.c  Opened device alsa(pulse) for capture, sample rate=44100, ch=2, bits=16, period size=441 frames, latency=100 ms
01:36:50.838             alsa_dev.c !ca_thread_func(12982): Set thread priority for audio capture thread.
Recodring file.wav..

buildroot ffmpeg常用命令

#使用命令方式采集视频: 指的是从屏幕的左上角(x=100, y=200)的位置,录制分辨率为1024×768的视频
ffmpeg -video_size 1024x768 -framerate 25 -f x11grab -i :0.0+100,200 v-out.mp4

#可以使用ALSA同时录制声音
ffmpeg -video_size 1024x768 -framerate 25 -f x11grab -i :0.0+100,200 -f alsa -ac 2 -i hw:0 av-out.mkv

#采用命令录制摄像头采集的视频:
ffmpeg -f video4linux2 -s 320*240 -r 10 -i /dev/video9 test.asf
ffmpeg -f video4linux2 -i "/dev/video9" -vcodec libx264 -pix_fmt yuv420p mycamera.h264
ffmpeg -f video4linux2 -s 320*240 -r 10 -i /dev/video9 test.asf -pix_fmt yuv420p

ffmpeg -f video4linux2 -s 320*240 -r 10 -i /dev/video9 test.asf 

root@RK356X:/# ffmpeg -f video4linux2 -s 320*240 -r 10 -i /dev/video9 test.asf 

Input #0, video4linux2,v4l2, from '/dev/video9':
  Duration: N/A, start: 154.045546, bitrate: 3686 kb/s
    Stream #0:0: Video: rawvideo (NV12 / 0x3231564E), nv12, 640x480, 3686 kb/s, 1 fps, 1 tbr, 1000k tbn, 1000k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> msmpeg4v3 (msmpeg4))
Press [q] to stop, [?] for help



arecord & aplay 声卡调测命令

开发板接USB音箱


arecord -D "plughw:3,0" -f S16_LE -r 44100 -d 5 -t wav file.wav
aplay -D "plughw:3,0"  file.wav

开发板自带音箱



#开发板自带音箱
arecord -D "plughw:0,0" -f S16_LE -r 44100 -d 5 -t wav file.wav
aplay -D "plughw:0,0"  file.wav
aplay -Dplughw:CARD=0 file.wav

##
root@RK356X:~/pjsip-bin/samples/arm-unknown-linux-gnueabihf# aplay -l    
**** List of PLAYBACK Hardware Devices ****
card 0: rockchiprk809co [rockchip,rk809-codec], device 0: fe410000.i2s-rk817-hifi rk817-hifi-0 [fe410000.i2s-rk817-hifi rk817-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: ROCKCHIPSPDIF [ROCKCHIP,SPDIF], device 0: fe460000.spdif-dit-hifi dit-hifi-0 [fe460000.spdif-dit-hifi dit-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 2: rockchiphdmi [rockchip,hdmi], device 0: rockchip,hdmi i2s-hifi-0 [rockchip,hdmi i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
root@RK356X:~/pjsip-bin/samples/arm-unknown-linux-gnueabihf# aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
pulse
    PulseAudio Sound Server
default
    Default ALSA Output (currently PulseAudio Sound Server)
sysdefault:CARD=rockchiprk809co
    rockchip,rk809-codec, fe410000.i2s-rk817-hifi rk817-hifi-0
    Default Audio Device
sysdefault:CARD=ROCKCHIPSPDIF
    ROCKCHIP,SPDIF, fe460000.spdif-dit-hifi dit-hifi-0
    Default Audio Device
sysdefault:CARD=rockchiphdmi
    rockchip,hdmi, rockchip,hdmi i2s-hifi-0
    Default Audio Device

#指定 设备播放音频
root@RK356X:~/pjsip-bin/samples/arm-unknown-linux-gnueabihf# aplay -Dplughw:CARD=rockchiprk809co ../../file.wav
Playing WAVE '../../file.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Mono

标签:buildroot,01,ffmpeg,--,dev,PJSIP,hifi,file,wav
From: https://blog.csdn.net/seaneer/article/details/144969065

相关文章

  • 瑞芯微rk3568平台 openwrt系统适配ffmpeg硬件解码(rkmpp)
    瑞芯微rk3568平台openwrt系统适配ffmpeg硬件解码(rkmpp)RK3568及rkmpp介绍编译安装mpp获取源码交叉编译安装libdrmlibdrm-2.4.89make方式编译(cannotfind-lcairo,不推荐)下载源码编译编译错误:multipledefinitionof`nouveaudebug‘错误cannotfi......
  • 如何使用 Python 和 FFmpeg 下载 B站视频
    在这篇文章中,我们将讨论如何使用Python脚本结合FFmpeg下载并合并B站视频的流,生成一个完整的视频文件。具体来说,我们将通过B站的API获取视频的音频和视频流,然后使用FFmpeg下载并将它们合并成一个.mp4文件。前提条件Python:你需要安装Python,推荐使用Python3.6或......
  • linux 开发ffmpeg 程序
    linux开发ffmpeg程序MakefileCC=gcctarget:$(CC)-omainmain.c-lavcodec-lavformat-lswresample-lavutil-lavfilter-lavdevice-lswscale-lm#$(CC)-offplayffplay.c-lSDL2-lavcodec-lavformat-lswresample-lavfilter-lavdevice-lswscale-lav......
  • FFmpeg: FFmepg中的sws_scale() 函数分析
    FFmpeg中的 sws_scale() 函数主要是用来做视频像素格式和分辨率的转换,其优势在于:可以在同一个函数里实现:1.图像色彩空间转换,2:分辨率缩放,3:前后图像滤波处理。不足之处在于:效率相对较低,不如libyuv或shader,其关联的函数主要有:1.sws_getContext():structSwsContext*sws_getCo......
  • Ubuntu下FFmpeg的安装方式
    在Ubuntu系统下安装FFmpeg有多种方式,其中最常用的是通过apt-get命令和源码编译安装。本文将分别介绍这两种方式,并提供安装过程中的注意事项和常见问题解决方法。一、使用apt-get命令安装使用apt-get命令安装FFmpeg是最简单快捷的方式,只需要在终端中输入以下命令即可:sudoapt-g......
  • ubuntu 下安装ffmpeg
    先创建三个文件夹:ffmpeg_sourcesffmpeg_buildbin1.首先安装依赖包sudoapt-getupdate-qq&&sudoapt-get-yinstall\autoconf\automake\build-essential\cmake\git-core\libass-dev\libfreetype6-dev\libsdl2-dev\libtool\......
  • 手把手教你搭建用buildroot构建qemu环境
    原文:https://blog.csdn.net/weixin_44458100/article/details/136091106之前我有篇讲过用QEMU模拟ARM64开发环境之busybox构建文件系统的开发环境具体可以看下这篇。https://mp.weixin.qq.com/s?__biz=MzUyNDUyMDQyNQ==&mid=2247483891&idx=1&sn=e5e858476ec6b821f7fec458e78ba4f......
  • 使用Windows和FFmpeg 将https://xxx.com/xx.m3u8 推流到B站
    要将一个.m3u8流推送到B站(哔哩哔哩直播平台),你可以使用FFmpeg工具。下面是一个大致的步骤:前提条件你已经拥有B站的直播推流地址。已经安装并配置了FFmpeg。将FFmpeg添加到Windows环境变量打开系统环境变量设置:方法1:右键点击“此电脑”或“计算机”,选择“属......
  • 2024-12-3《利用ffmpeg推流到rtsp,再利用jmpeg在html界面上显示的解决办法》
    利用ffmpeg推流到rtsp,再利用jmpeg在html界面上显示的解决办法  目录需求在python代码里推流到rtsphtml里播放rtsp视频流 需求最近在百度飞桨上训练了一个摔倒识别的模型,用的PaddleDetection这个模型,训练好以后我部署到了Windows,但是我看大多数人都是部署到了......
  • foobar2000与ffmpeg整合方法与步骤
    为了在foobar2000中使用ffmpeg进行音频解码,首先您需要下载适合您CPU架构的ffmpeg解码器。如果不确定选择哪款解码器,或者没有找到适合您CPU架构的版本,可以选择通用解码器。下载完成后的文件通常包含多个可执行文件,您需要在foobar2000安装目录下创建一个文件夹,例如命名为“FFmpeg64......