Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ubuntu 如何在不丢失分辨率和切片信息的情况下缝合(concat)两个具有两种不同分辨率和I帧切片格式的传输流_Ubuntu_Video_Ffmpeg_H.264_X264 - Fatal编程技术网

Ubuntu 如何在不丢失分辨率和切片信息的情况下缝合(concat)两个具有两种不同分辨率和I帧切片格式的传输流

Ubuntu 如何在不丢失分辨率和切片信息的情况下缝合(concat)两个具有两种不同分辨率和I帧切片格式的传输流,ubuntu,video,ffmpeg,h.264,x264,Ubuntu,Video,Ffmpeg,H.264,X264,我一直在尝试使用从多媒体设备捕获的steam测试用例,但没有成功。然后,我已经尝试创建这个特定的传输流两天了,但没有成功,所以请求一些帮助 我需要创建具有两种不同分辨率和两种不同切片格式的传输流 我将任务分为以下两个步骤,在最后两个步骤中,我需要帮助 步骤1:下载分辨率为1920x1080的示例视频。 我下载了 步骤2:使用以下内容创建传输流 分辨率:1920x720,H264 I帧切片/帧:1 我使用下面的ffmpeg命令来实现这一点 #Rename file to input.mp4 $ m

我一直在尝试使用从多媒体设备捕获的steam测试用例,但没有成功。然后,我已经尝试创建这个特定的传输流两天了,但没有成功,所以请求一些帮助

我需要创建具有两种不同分辨率和两种不同切片格式的传输流

我将任务分为以下两个步骤,在最后两个步骤中,我需要帮助

步骤1:下载分辨率为1920x1080的示例视频。
我下载了

步骤2:使用以下内容创建传输流
分辨率:1920x720,H264 I帧切片/帧:1
我使用下面的ffmpeg命令来实现这一点

#Rename file to input.mp4
$ mv bbb_sunflower_1080p_30fps_normal.mp4 input.mp4
#Extract transport stream
$ ffmpeg -i input.mp4 -c copy first.ts
first.ts具有1980x720分辨率和每帧一个H264 I切片

步骤3:使用以下命令创建另一个分辨率较小的传输流

#Get mp4 with lower resolution.
$ ffmpeg -i input.mp4 -s 640x480 temp.mp4
#Extract trans port stream from mp4
$ ffmpeg -i temp.mp4 -c copy low_r.ts
步骤4:编辑(并重新编码?)low_r.ts以具有两个H264 I帧切片。 我使用以下命令来实现它

$ x264 --slices 4 low_r.ts -o second.ts
但是,当我在vlc上使用以下命令播放second.ts时,它不会播放

$ vlc ./second.ts 
当我分析传输流时,使用Elacard Streamye软件,我发现它只有4个
H264 I切片
,而不是那批
H264 p切片
H264 B切片
需要这里的帮助来找出second.ts不播放的原因以及切片不正确的原因。

步骤5:在不丢失分辨率和切片信息的情况下合并传输流。 我不知道这个命令。这里需要帮助。 我尝试了ffmpeg,但它将两个具有不同分辨率的流组合在一起,并使一个文件具有一个分辨率

任何建议/建议都有助于我继续。让我也知道,如果上述任何一个步骤都不太好