的关注 Android Camera Capture using FFmpeg 和 feed raw yuv frame to ffmpeg with timestamp
我成功地将Android手机相机的原始帧放入由mkfifo制作的命名管道中,并使用ffmpeg处理它们并生成视频文件。
但问题是,通过ffmpeg,编码非常慢,它每秒只能处理3~5帧。我必须使用ffmpeg而不是MediaRecorder的原因是后来我需要使用ffmpeg来生成HLS段和m3u8文件。
所以我必须转向使用像MediaRecorder这样的本机编码器并尝试将其OutputFile设置为以下命名管道 How to use unix pipes in Android
我的代码喜欢这个,
$(document).ready(function () {
jQuery.validator.addMethod("comparison", function (value, element) {
var pcompra = $("#pcompra").val();
return this.optional(element) || value > pcompra;
});
$("#form").validate({
rules: {
pcompra: {
required: true,
number: true
},
pventa: {
required: true,
number: true,
comparison: true
}
},
messages: {
pcompra: {
required: 'This field is required.',
number: 'Please enter a valid number.'
},
pventa: {
required: 'This field is required.',
number: 'Please enter a valid number.',
comparison: 'This field should larger than field pcompra'
}
}
});
});
我还有一个ffmpeg线程来使用这个管道作为输入。
但是当我打电话给mMediaRecorder.start();它将抛出java.lang.IllegalStateException。我在调用mMediaRecorder.start()之前或之后尝试放入ffmpeg线程,但是出现了同样的错误。
我现在不知道这件事。有人能告诉我如何解决这个问题吗? 任何建议都欢迎和赞赏。感谢。