V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
nikoo
V2EX  ›  问与答

ffmpeg 无参数转换一下相机里的 MP4 怎么被压缩了这么多?

  •  
  •   nikoo · 2016-08-23 08:43:41 +08:00 · 5900 次点击
    这是一个创建于 2774 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一段测试视频 DJI_0003.MP4
    720P, 29 帧 /秒, 总比特率:10055kbps, 大小: 490 MB

    从相机中导出,用 ffmpeg 不加任何参数直接导入 /导出一下:
    ffmpeg -i DJI_0003.MP4 output.MP4

    获得 output.MP4
    720P, 29 帧 /秒, 总比特率:1232kbps, 大小: 60.5 MB

    在分辨率 /帧率不变的情况下,极大程度降低了比特率,视频尺寸也极大的减小了
    并且我播放前后两个视频,看不出任何区别!

    我的问题是:
    1 、这是有损压缩还是无损?如果作为剪辑素材, output.MP4 是否可以代替前者?
    2 、如果是无损压缩,相机本身为什么不会做这个事情?(节约储存卡容量以便录制更多的视频)
    12 条回复    2016-08-23 15:28:02 +08:00
    xbb7766
        1
    xbb7766  
       2016-08-23 08:55:17 +08:00 via Android   ❤️ 1
    无参数会压缩。
    要视频无损加上 -vcodec copy
    如果还要音频无损,再加上 -acodec copy
    xbb7766
        2
    xbb7766  
       2016-08-23 08:57:39 +08:00 via Android   ❤️ 1
    相机拍下的就已经有损压缩过了。无压缩的视频体积会吓死人的。
    Ffmpeg 不带参数等于再有损压缩一次
    nikoo
        3
    nikoo  
    OP
       2016-08-23 08:57:54 +08:00
    @xbb7766 谢谢,默认无参数的情况压缩是按什么标准压缩的?没找到相关文档。。。
    wwqgtxx
        4
    wwqgtxx  
       2016-08-23 09:03:45 +08:00 via Android   ❤️ 1
    貌似模式是 crf=16 这个参数
    depress
        5
    depress  
       2016-08-23 09:06:40 +08:00   ❤️ 2
    比特率越高画质越好,你看不出区别一是因为 720P ,分辨率不够高,二是画面不复杂,这个码率已经够了,跟 MP3 、图片意思都差不多,压缩之后你也发觉不出多大差别,但是不能说没多大差别人家相机就直接给你压缩了,一个是处理器要求较高,另外也有需要高码率的人啊,不是每个人都拍 720P 都拍简单的画面。码率都小了当然是有损的,如果你看着差不多,当然可以代替前者。
    sunny00123
        6
    sunny00123  
       2016-08-23 09:07:46 +08:00
    加-c copy 就行了啊
    nower
        7
    nower  
       2016-08-23 09:24:30 +08:00
    -c copy +1
    gzlock
        8
    gzlock  
       2016-08-23 09:37:06 +08:00 via Android
    好多 ffmpeg 大神,想求教一个问题:
    使用 ffmpeg 推流直播,可以在 ffmpeg 运行时,动态追加输入文件而无需停止 ffmpeg 正在进行的推流吗?
    例如:
    增加或删除一段视频图层
    增加或删除图片图层
    增加或删除文字图层

    @sunny00123
    @xbb7766
    @nower
    xmoiduts
        9
    xmoiduts  
       2016-08-23 09:42:18 +08:00   ❤️ 1
    1 ,有损;不建议用来剪辑;
    2 ,相机已经在做了,硬件速度所限不能压得太多。

    题主的文件名是 dji_xxxx,暂时认为是航拍吧,画面应该比较平缓,这对压缩有利。
    一般情况下,我的手机视频会被压到原来的 1/3 ,而无参数的压缩, ffmpeg 默认:质量控制参数为 23 (如果是 h.264 流)。即 -crf 23 ;
    默认的参数,随原始视频的文件格式 /编码格式而不同。
    sunny00123
        10
    sunny00123  
       2016-08-23 12:10:08 +08:00
    @gzlock -f concat -i playlist.txt -c copy 准备个脚本处理 playlist.txt ,可以参考 m3u8 ,当然你也得把文件全搞成 MPEG-TS 格式的
    xuhaoyangx
        11
    xuhaoyangx  
       2016-08-23 14:04:20 +08:00   ❤️ 1
    ffmpeg 默认有参数
    Cloudee
        12
    Cloudee  
       2016-08-23 15:28:02 +08:00   ❤️ 1
    1. 有损的压缩,建议用大的
    2. 之所以相机压缩的 MP4 在同样的画质下体积大,主要是因为相机或者手机的硬件编码芯片的处理能力有限,不能进行更复杂的压缩操作(比如说复杂的运动预测等等),因此文件体积会大。就像你用 ffmpeg 压缩,指定同样的 crf 参数,用不同的 preset 文件大小会截然不同一样
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1375 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 17:40 · PVG 01:40 · LAX 10:40 · JFK 13:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.