Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Video 一种编码中的libav/FFMPEG流,另存为另一种编码_Video_Ffmpeg_Video Streaming_Html5 Video_Libav - Fatal编程技术网

Video 一种编码中的libav/FFMPEG流,另存为另一种编码

Video 一种编码中的libav/FFMPEG流,另存为另一种编码,video,ffmpeg,video-streaming,html5-video,libav,Video,Ffmpeg,Video Streaming,Html5 Video,Libav,我在嵌入式设备上使用libav。经过一些努力,我得到了一个碎片化的MPEG4直播流。我现在对此感到非常高兴 我现在想做的是从同一个输入得到两个输出。第一个输出是我目前拥有的,它是一个网络质量的视频(lossy@video rate),在回调中处理并流到某处。第二个输出应该是以更高的帧速率保存到文件中的无损视频 我知道我可以独立地生成第二个输出,但是libav有没有一种聪明的方法可以将它们结合起来呢?或者我只是单独做这两件事?基于这个问题,看起来你会使用“复制”过滤器 因此,当使用ffmpeg时,

我在嵌入式设备上使用libav。经过一些努力,我得到了一个碎片化的MPEG4直播流。我现在对此感到非常高兴

我现在想做的是从同一个输入得到两个输出。第一个输出是我目前拥有的,它是一个网络质量的视频(lossy@video rate),在回调中处理并流到某处。第二个输出应该是以更高的帧速率保存到文件中的无损视频


我知道我可以独立地生成第二个输出,但是libav有没有一种聪明的方法可以将它们结合起来呢?或者我只是单独做这两件事?

基于这个问题,看起来你会使用“复制”过滤器

因此,当使用ffmpeg时,这可以在命令行中完成,或者在使用libavfilter的代码中完成

以下是有关复制筛选器的文档:


根据问题,您可能会使用“复制”过滤器

因此,当使用ffmpeg时,这可以在命令行中完成,或者在使用libavfilter的代码中完成

以下是有关复制筛选器的文档:


谢谢,不过我不确定这是否正确。我希望输出具有不同的FPS和不同的损耗(crf)设置。复制筛选器只是一个简单的副本。抱歉。我误解了问题的语言。我将更新或删除我的答案。您可能需要发布更多详细信息,但现在,简而言之:简而言之,您可以在命令行中进行复制,然后对复制的流进行进一步的转码。在代码中,您可能会创建另一个表示第二个输出的对象或“上下文”(来自第一个输出的副本),或者在第二个对象上运行不同的转码。对于获得的每一帧输入,您将把两个不同的输出帧写入两个不同的输出。干杯,谢谢。这是有道理的。所以基本上我可以在全FPS下做一个无损的,然后在(比如)25fps下把它转换成有损的。你认为这有意义吗,或者在libav中使用两个独立的编码器是值得的?不幸的是,在这一点上,你已经达到了我理解的极限。不久前我做了类似的事情,但我必须查看代码来刷新我的记忆。我不确定性能差异会是什么,但我认为这是您的指南。如果我能找到一个好的代码示例,我会用它更新我的答案。谢谢,尽管我不确定这是否正确。我希望输出具有不同的FPS和不同的损耗(crf)设置。复制筛选器只是一个简单的副本。抱歉。我误解了问题的语言。我将更新或删除我的答案。您可能需要发布更多详细信息,但现在,简而言之:简而言之,您可以在命令行中进行复制,然后对复制的流进行进一步的转码。在代码中,您可能会创建另一个表示第二个输出的对象或“上下文”(来自第一个输出的副本),或者在第二个对象上运行不同的转码。对于获得的每一帧输入,您将把两个不同的输出帧写入两个不同的输出。干杯,谢谢。这是有道理的。所以基本上我可以在全FPS下做一个无损的,然后在(比如)25fps下把它转换成有损的。你认为这有意义吗,或者在libav中使用两个独立的编码器是值得的?不幸的是,在这一点上,你已经达到了我理解的极限。不久前我做了类似的事情,但我必须查看代码来刷新我的记忆。我不确定性能差异会是什么,但我认为这是您的指南。如果我能找到一个好的代码示例,我会用它更新我的答案。