播放器端的解码同步问题
miracast的投屏问题,进行修改的问题。
播放器ffplay命令没有声音的修改问题。
任务:如何将断开连接后在连接发送的数据,两秒后再去显示。
猜测:
一直在监听。断开后要求2秒后的数据再显示。那么也就是认为前两秒的数据不正常。
可能的办法:一旦再次开始解析数据,前两秒获取的不处理,2秒后的才开始显示。(总体上会有延迟2秒的现象)
还有可能是数据正常,但是老数据与新数据冲突了。那么也许就得清理缓冲区了。
one by one,tired!!!!!!
Ah,Ah,Ah,Ah,Ah,Ah,Ah,Ah,Ah,Ah,Ah,Ah
太急,导致no time,那么质量效率低,甚至not finish也就正常了。大量战术100个成功1个。对于认知低的人,也算是个好的方法了。
由宏观到微观,由大到小。
命令行发送可以,这是录制好的视频。
自己的程序发送,本机播放可以。
自己的程序发送,板子播放没声音。
那么确实是有可能播放器命令处理的不到位,功能不够导致的。查查相关命令。
可能有用的:
ffplay -fflags nobuffer -flags low_delay -probesize 32 -analyzeduration 1 -sync ext -acodec aac udp://127.0.0.1:1234
ffmpeg的码流选择是什么?
在FFmpeg中,"码流"通常指的是媒体文件中的音视频数据流。在处理媒体文件时,可以使用FFmpeg来选择特定的音视频数据流进行解码、转码或其他处理操作。
在FFmpeg中,你可以使用 -map 选项来选择特定的音视频数据流。以下是一些常见的用法:
-map 0:v:0:选择第一个输入文件(索引为0)的第一个视频流。
-map 0:a:0:选择第一个输入文件(索引为0)的第一个音频流。
-map 1:v:0:选择第二个输入文件(索引为1)的第一个视频流。
-map 1:a:0:选择第二个输入文件(索引为1)的第一个音频流。
这些选项可以在FFmpeg命令行中使用,用于指定处理哪些输入文件的哪些音视频流。这在进行音视频处理、混流、剪辑等操作时非常有用。
需要注意的是,索引从0开始计数,因此第一个视频流的索引是0,第一个音频流的索引也是0
希望这能帮助到你理解如何在FFmpeg中选择特定的音视频数据流进行处理。
ffplay:
流说明符是一个字符串,通常附加到选项名称并用冒号分隔。例如-codec:a:1 ac3包含 a:1流说明符,它与第二个音频流匹配。因此,它将为第二个音频流选择 ac3 编解码器。
-codec copy
-c copy //所有流(包括视频, 音频)
-vcodec copy //或者是使用特定视频解码器
-c:v copy
-acodec copy //或者是使用特定音频解码器
-c:a copy
-sync type
将主时钟设置为音频 ( type=audio)、视频 ( type=video) 或外部 ( type=ext)。默认为音频。主时钟用于控制音视频同步。大多数媒体播放器使用音频作为主时钟,但在某些情况下(流媒体或高质量广播)有必要更改它。该选项主要用于调试目的。