Rot*_*tem 8 video h.264 ffmpeg video-conversion
执行时我收到以下警告消息ffmpeg
:
[mp4 @ 00000000025c00a0] 流 0 的数据包中未设置时间戳。此功能已弃用,将来将停止工作。修复您的代码以正确设置时间戳
[mp4 @ 00000000025c00a0] pts 没有值
H264
将基本流转换为视频文件时会出现该消息mp4
。
我正在使用的ffmpeg
版本:ffmpeg-3.3.2-win64
我尝试执行以下代码,以检查我的流中是否存在问题H264
:
ffmpeg -f lavfi -i testsrc -t 3 -r 10 -pix_fmt yuv420p -c:v libx264 test.264
ffmpeg -r 10 -i test.264 -vcodec copy test.mp4
Run Code Online (Sandbox Code Playgroud)
该代码使用 创建H264
合成视频流ffmpeg
,然后将该流转换为mp4
。
由于流是由 创建的ffmpeg
,因此它没有理由不包含所需的时间戳。
这是一个错误吗ffmpeg
?
创建合成H264
流时是否有我错过的一些标志之王?基本应该包含时间戳
吗?H264
由于流是由 ffmpeg 创建的,因此它没有理由不包含所需的时间戳。
但原始 H.264 比特流没有时间戳。
此更改是不久前引入的,根据我的观察,它根本没有考虑混合不能有时间戳的基本流的用例。
这有效:
MP4Box -add test.264 -fps 10 test-out.mp4
Run Code Online (Sandbox Code Playgroud)
我的想法是,指定输入帧率(-r ... -i ...
)足以使该错误消失,因为它应该生成时间戳,但显然在这种情况下它没有帮助。这可能是一个错误,但我可能错过了一些更隐晦的东西。
Eugen Rieck 在下面的评论中提出了一种替代方案:
ffmpeg -i test.264 -c copy test.avi
ffmpeg -i test.avi -c copy test.mp4
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
36989 次 |
最近记录: |