Opencv 修复HD Home Run生成的TS文件
我正在使用hdhomerun命令行工具hdhomerun_config从电缆流录制到.ts文件。它的工作方式是,您运行该命令,它每秒左右生成一个周期,让您知道流正在成功录制。所以当我记录时,它只产生周期,这是需要的。结束它的方法是执行Ctrl-C。然而,每当我尝试使用FFMpeg将其转换为avi或mov时,都会出现一系列错误,其中一些错误是Opencv 修复HD Home Run生成的TS文件,opencv,ffmpeg,Opencv,Ffmpeg,我正在使用hdhomerun命令行工具hdhomerun_config从电缆流录制到.ts文件。它的工作方式是,您运行该命令,它每秒左右生成一个周期,让您知道流正在成功录制。所以当我记录时,它只产生周期,这是需要的。结束它的方法是执行Ctrl-C。然而,每当我尝试使用FFMpeg将其转换为avi或mov时,都会出现一系列错误,其中一些错误是 [mpeg2video @ 0x7fbb4401a000] Invalid frame dimensions 0x0 [mpegts @ 0x7fbb448
[mpeg2video @ 0x7fbb4401a000] Invalid frame dimensions 0x0
[mpegts @ 0x7fbb44819600] PES packet size mismatch
[ac3 @ 0x7fbb44015c00] incomplete frame
它仍然会创建文件,但质量很差,不能与OpenCV和其他服务一起使用。还有其他人遇到过这个问题吗?有没有人有任何可能有助于解决这种情况的知识?我试图修剪ts文件,但大多数内容都需要在编辑前进行转换。谢谢大家! 这样的警告/错误在流的最开始是正常的,因为录制开始于中流(即mid PES数据包)和ffmpeg需要PES报头(即PES数据包的开始)。一旦ffmpeg找到下一个PES头,它将很高兴(播放时间0-500毫秒后) 简而言之,它是无害的。您可以消除警告/错误,但删除每个ES的所有TS帧,直到达到有效负载单元启动标志,但ffmpeg本身已经在这样做了 如果在初始/启动后看到其他警告/错误,则可能存在需要调查的数据包丢失问题