ffmpeg-python
ffmpeg-python copied to clipboard
求助
实现推流的时候音频流和视频流往一个rtsp地址推,音频流和视频流都是实时产生的,实现音视频同步直播 我知道要开线程和进程,下面的例子没有开 我要同时写入音频流和视频流怎么实现,下面的TODO是有问题的地方(我要求助的地方)
import cv2 import ffmpeg
cap = cv2.VideoCapture(1)
width, height = (int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)), int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT)))
in1 = ffmpeg.input('pipe:0', format='rawvideo', pix_fmt='bgr24', hwaccel="cuda", s='{}x{}'.format(width, height), r=30) # 输入视频 in2 = ffmpeg.input('pipe:1') # 输入音 process2 = ( ffmpeg .output(in1, in2, "rtsp://192.168.1.50:8554/live", report=None, pix_fmt="yuv420p", rtsp_transport="tcp", f="rtsp") .run_async(pipe_stdin=True) ) while cap.isOpened(): # 读取一帧 ret, frame = cap.read() if frame is None: print('read frame err!') continue if cv2.waitKey(1) & 0xFF == ord('q'): break cv2.imshow("", frame) # print(process2) process2.stdin.write(frame.tobytes()) # TODO 这个地方不对
with open("lll.mp3", 'rb') as f: while 1: process2.stdin.write(f.read(1024)) # TODO 这个地方不对
process2.stdin.close() process2.wait()
求助,求助,help