目前,我使用 ffmpeg 从原始格式的帧开始生成在 OBS 中广播的视频输出。
问题是我们要向其添加音轨,即:每个帧现在都有其像素矩阵及其音频。
我不知道如何让 ffmpeg 接受这个复合信号或者最好的方法是什么。实际上我使用 ffmpeg 的标准输入。我使用这段代码来生成它:
url = "udp://" + udp_address + ":" + str(udp_port)
command = [
'ffmpeg',
'-loglevel',
'error',
'-re',
'-y',
# Input
'-i', '-',
'-f', 'rawvideo',
'-vcodec', 'rawvideo',
'-pix_fmt', 'bgr24',
'-s', str(size[0]) + 'x' + str(size[1]),
# Output
'-b:v', '16M',
'-maxrate', '16M',
'-bufsize', '16M',
'-pix_fmt', 'bgr24',
'-f', 'mpegts', url
]
proc = subprocess.Popen(command, stdin=subprocess.PIPE)
proc.stdin.write(frame.tobytes())
Run Code Online (Sandbox Code Playgroud)
向每帧添加音频的最佳方法是什么?谢谢
我正在尝试编译一个静态库(让我们称之为library.a).该库消耗标准库的资源.有一些方法可以使库静态链接标准库.
我证明了这样的事情:
g++ -c library -static-libstdc++ -o library.o
ar rcs library.o library.a
Run Code Online (Sandbox Code Playgroud)
但如果我这样做,就没有标准库的链接.
然后我证明了这一点:
g++ library -static-stdlib -o library.o
ar rcs library.o library.a
Run Code Online (Sandbox Code Playgroud)
但是请我添加一个主要功能.
是否有可能通过静态链接标准库(std :: string,std :: vector,std :: cin等...)来创建静态库.
谢谢 :)