使用FFMPEG将HEVC视频多路复用到MPEG传输流中

使用FFMPEG将HEVC视频多路复用到MPEG传输流中,ffmpeg,command-line-arguments,mpeg,hevc,transport-stream,Ffmpeg,Command Line Arguments,Mpeg,Hevc,Transport Stream,我想将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

我想将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 -i coded.hevc -c copy coded.mp4

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

分两步进行:

ffmpeg -i coded.hevc -c copy coded.mp4

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

这样做之后,视频的呈现时间戳按时间顺序进行解码,尽管它们不应该这样做。因此,大多数解码器无法流畅地播放视频。这样做之后,视频的呈现时间戳对于某些解码来说是按时间顺序排列的,尽管它们不应该这样做。因此,大多数解码器无法流畅地播放视频。