gpt4 book ai didi

ffmpeg - 将元标记设置为 .ts 文件

转载 作者:行者123 更新时间:2023-12-04 22:47:39 31 4
gpt4 key购买 nike

我有一个 .mp4 视频,录制在 iphone4s 中。这个视频文件包含“旋转 - 180”元数据。

当我使用 ffmpeg 将 .mp4 文件转换为 .ts 时。我丢失了“旋转”元标记。

我使用的 ffmpeg 命令如下所示。

ffmpeg -i input_file.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb output_file.ts

有谁知道如何将“旋转”元数据设置为 .ts 文件?

或者

将输入 .mp4 文件中的所有元数据复制到输出 .ts 文件的任何其他方式

谢谢

最佳答案

使用 ffmpeg 将旋转元数据添加到 .ts 文件似乎没有任何作用。只有重新编码有效。

我的输入文件的旋转值为 90。
终端命令:

./ffmpeg -i input_file.mp4



元数据:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input_file.mp4':
Metadata:
major_brand : isom
minor_version : 0
compatible_brands: isom3gp4
creation_time : 2013-08-27 21:25:13
Duration: 00:00:21.33, start: 0.000000, bitrate: 16820 kb/s
Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 17011 kb/s, 30 fps, 30 tbr, 90k tbn, 180k tbc
Metadata:
rotate : 90
creation_time : 2013-08-27 21:25:13
handler_name : VideoHandle
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 121 kb/s
Metadata:
creation_time : 2013-08-27 21:25:13
handler_name : SoundHandle



以下尝试未获得要复制的旋转值:

./ffmpeg -y -i input_file.mp4 -vcodec copy -acodec copy -bsf h264_mp4toannexb output_file.ts
./ffmpeg -y -i input_file.mp4 -vcodec copy -acodec copy -bsf h264_mp4toannexb -metadata rotate=90 output_file.ts
//------ even manually specifying the metadata as the first video stream does not work: ------//
./ffmpeg -y -i input_file.mp4 -vcodec copy -acodec copy -bsf h264_mp4toannexb -metadata:s:v:0 rotate=90 output_file.ts



即使您可以手动注入(inject)元数据,例如:

./ffmpeg -y -i input_file.mp4 -vcodec copy -acodec copy -bsf h264_mp4toannexb -metadata TITLE='Test Title' output_file.ts



这确实有效,但需要重新编码,与上面的视频和音频编解码器复制相比,这确实效率低下。
(1 == 90 度顺时针旋转)

./ffmpeg -y -i input_file.mp4 -vf "transpose=1" output_file.ts

关于ffmpeg - 将元标记设置为 .ts 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17828947/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com