我正在使用hdhomerun命令行工具hdhomerun_config从电缆流录制到.ts文件。它的工作方式是运行命令,它每隔一秒左右产生一个句点,让你知道正在成功记录流。因此,当我记录时,它只产生期望,这是期望的。结束它的方法是通过Ctrl-C。但是,每当我尝试使用FFMpeg将其转换为avi或mov时,它会产生一堆错误,其中一些错误
[mpeg2video @ 0x7fbb4401a000] Invalid frame dimensions 0x0
[mpegts @ 0x7fbb44819600] PES packet size mismatch
[ac3 @ 0x7fbb44015c00] incomplete frame
它仍会创建文件,但质量很差,并且不适用于OpenCV和其他服务。还有其他人遇到过这个问题吗?有没有人有任何可能有助于这种情况的知识?我试图修剪ts文件,但大多数事情需要在编辑之前进行转换。谢谢!
答案 0 :(得分:2)
这样的警告/错误在流的最开始是正常的,因为记录在流中间开始(即中间PES包)并且ffmpeg期望PES头(即PES包的开始)。一旦ffmpeg找到下一个PES标题,它就会很开心(播放时间为0-500ms)。
简短版本是无害的。您可以消除警告/错误,但删除每个ES的所有TS帧,直到您点击有效负载单元开始标志,但这就是ffmpeg已经在做什么。
如果在初始/开始后看到其他警告/错误,则可能会收到需要调查的丢包问题。