ffmpeg - 将 .mov 转换为 .flv 视频水平播放时

标签 ffmpeg transcoding

当我通过 iPhone 录制视频 (.mov) 时,它会垂直显示,这是正确的。
但是在将 .mov 转换为 .flv(使用 ffmpeg)后,它会水平显示。

我的代码:

function convert_flv($vidtime,$infile, $outfile, $w = 0, $h = 0, $extra_infile = '', $extra_outfile = '') {
    $parms = '';
    if($w == 0 && $h == 0) {
        //$parms .= '-sameq ';
    } else {
        $parms = '-s {$w}x{$h} ';
    }

    if($vidtime==60) {
        $cmd = ffmpeg($infile, $outfile, $parms.' '.$extra_infile, '-t 00:01:00 -ar 22050 -r 15 -f flv  '.$extra_outfile);
    } else {
        $cmd = ffmpeg($infile, $outfile, $parms.' '.$extra_infile, '-t 00:04:00 -ar 22050 -r 15 -f flv  '.$extra_outfile);
    }

    print_r($cmd);
    return $cmd;
}

最佳答案

iPhone 将 .mov 元数据中的方向信息存储在 ffmpeg 忽略的元数据中,从而导致旋转输出。正确解析元数据是一个问题。

如果您以一致的方向录制电影,您可以通过添加 -vf "transpose=1" 来旋转它们到您的 ffmpeg 命令。 Docs for transpose .

关于ffmpeg - 将 .mov 转换为 .flv 视频水平播放时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3115973/

相关文章:

video - 尝试在 Lambda 上使用 FFMpeg 层对视频进行转码

video - MP4Box 与 Qt-faststart 的比较

video - FFMPEG - 改变我的覆盖视频的饱和度

batch-file - 如何使用 ffmpeg 和屏幕截图创建批处理文件?

ffmpeg:如何重复音频 "watermark"

ffmpeg - 使用 Java 将 wmv 文件转码为 mp4

ffmpeg - 如何使用 ffmpeg 保留最后 1 分钟的视频流?

android - 使用 FFmpeg 以特定帧率循环显示视频上的图像

ios - 使用 FFmpeg 的 HEVC 视频切割问题

c++ - 没有 SDL 的 LibVLC 教程?