博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python视频延迟严重_Python音视频合并中的延迟问题
阅读量:6913 次
发布时间:2019-06-27

本文共 1531 字,大约阅读时间需要 5 分钟。

通过一个附带有音频和视频的python-rasypm音频捕捉设备和picaerm录制的音频和视频。在

通过ffmpeg合并两个文件,直到30秒音频/视频都很好地同步,但是30秒之后,我开始体验延迟问题。在

你能指导我解决这个问题吗?在import picamera, subprocess, os

import pyaudio,wave,sys

CHUNK = 8192

FORMAT = pyaudio.paInt16

CHANNELS = 1

RATE = 44100

RECORD_SECONDS = 60 #"Recording Duration"

WAVE_OUTPUT_FILENAME = 'Audio.wav'

H264_OUTPUT_FILENAME = 'Video.h264'

frames = []

with picamera.PiCamera() as camera:

camera.resolution= (640,480)

p = pyaudio.PyAudio()

stream = p.open(format=FORMAT,

channels = CHANNELS,

rate = RATE,

input = True,

input_device_index = 0,

frames_per_buffer = CHUNK)

camera.start_preview(fullscreen=False, window=(930, 0, 425, 295))# "Start Video Preview"

camera.start_recording(H264_OUTPUT_FILENAME, quality = 30) # "Start Video Recording"

# "Start Audio Dubbing"

for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):

data = stream.read(CHUNK)

frames.append(data)

stream.stop_stream() # "Pause the Stream"

stream.close() # "Stream Stop"

p.terminate() # "Stream Cloase"

camera.stop_recording() # "Pause" the recording

camera.stop_preview() # "Stop Preview"

camera.close() # "Camera Close"

# Creation of MIC WAVE FILE

wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')

wf.setnchannels(CHANNELS)

wf.setsampwidth(p.get_sample_size(FORMAT))

wf.setframerate(RATE)

wf.writeframes(b''.join(frames))

wf.close()

# Combining/Merging of Audio/Video File into mkv

cmd = 'ffmpeg -y -i Audio.wav -r 30 -i Video.h264 -filter:a aresample=async=1 -c:a flac -c:v copy av.mkv'

subprocess.call(cmd, shell=True) # "Muxing Done

print('Muxing Done')

转载地址:http://lcncl.baihongyu.com/

你可能感兴趣的文章
BZOJ 2822: [AHOI2012]树屋阶梯 [Catalan数 高精度]
查看>>
基本类型和装箱基本类型的区别
查看>>
剑指offer题目java实现
查看>>
ThreadLocal
查看>>
抽象工厂类--一个简单的例子
查看>>
配置toad远程连接oracle
查看>>
028 Partitioner:数据分区器
查看>>
移位实现正负数原码输出
查看>>
阿里云端口失效导致tomcat无法对外提供服务
查看>>
如何在Android Studio中指定NDK位置?
查看>>
更改Android应用程序的图标
查看>>
连载:面向对象葵花宝典:思想、技巧与实践(35) - NOP原则
查看>>
Redis(五)-- Java API
查看>>
Android中使用OnClickListener接口实现button点击的低级失误
查看>>
python核心编程——python对象
查看>>
我第一家互联网公司产品开发周期
查看>>
指数函数及其性质教学设计
查看>>
关于内存中栈和堆的区别(非数据结构中的堆和栈,区别)【转】
查看>>
嵌套查询
查看>>
HTML5即将迎来黄金时代 轻应用再成行业焦点
查看>>