【问题标题】:Multiplex a HEVC-Video into a MPEG-Transportstream with FFMPEG使用 FFMPEG 将 HEVC 视频多路复用为 MPEG 传输流
【发布时间】:2017-02-27 19:02:14
【问题描述】:

我想将 HEVC 编码的视频多路复用到 MPEG 传输流中。

我有一个使用 x265 编码器编码的视频。

x265 raw.y4m --output coded.hevc

我想将此视频多路复用到 MPEG 传输流中。 我以这种方式尝试过:

ffmpeg -fflags +genpts -i coded.hevc -c:v copy -f mpegts transportstream.ts 

不幸的是,出现了这个错误消息,并且 transportstream.ts 为空。

[mpegts @ 0x1fa76a0] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
[mpegts @ 0x1fa76a0] first pts value must be set
av_interleaved_write_frame(): Invalid data found when processing input

出于我的目的,有必要将这两个步骤分开。你能帮我找出正确的参数来多路复用视频吗?

提前致谢。

【问题讨论】:

    标签: ffmpeg command-line-arguments mpeg hevc transport-stream


    【解决方案1】:

    两步过程有效:

    ffmpeg -i coded.hevc -c copy coded.mp4
    
    ffmpeg -i coded.mp4 -c:v copy transportstream.ts 
    

    【讨论】:

    • 执行此操作后,视频的呈现时间戳对于某些解码是按时间顺序排列的,尽管它们不应该如此。因此,大多数解码器无法流畅播放视频。
    猜你喜欢
    • 2015-10-03
    • 2012-01-11
    • 2023-03-03
    • 2016-06-13
    • 2016-03-07
    • 1970-01-01
    • 1970-01-01
    • 2017-11-07
    • 2023-03-18
    相关资源
    最近更新 更多