FFmpeg命令提取像素格式和PCM数据

文章详细介绍了如何使用FFmpeg命令进行视频的YUV和RGB格式转换,包括指定输入和输出文件、分辨率调整、像素格式选择,以及音频的采样率、通道数和格式转换。还展示了如何从视频中提取音频流并保存为不同格式。
摘要由CSDN通过智能技术生成

FFmpeg命令提取像素格式

  • 提取YUV

    • 提取3秒数据,分辨率和源视频一致

      ffmpeg -i test_video_1280x720.mp4 -t 3 -pix_fmt yuv420p yuv420p_orig.yuv
      
      • -i test_video_1280x720.mp4:指定输入文件为 test_video_1280x720.mp4
      • -t 3:设置输出视频的持续时间为 3 秒,即提取视频的前 3 秒。
      • -pix_fmt yuv420p:指定输出视频的像素格式为 YUV420P,即每个像素由亮度和两个色度分量组成。
      • yuv420p_orig.yuv:指定输出文件名为 yuv420p_orig.yuv,即将转换后的视频保存为 YUV420P 格式文件。

      这个命令将输入的视频文件转换为 YUV420P 格式的原始视频文件,并且仅提取视频的前 3 秒。

    • 提取3秒数据,分辨率转换为320x240

      ffmpeg -i test_1280x720.mp4 -t 3 -pix_fmt yuv420p -s 320x240 yuv420p_320x240.yuv
      
      • -i test_1280x720.mp4:指定输入文件为 test_1280x720.mp4
      • -t 3:设置输出视频的持续时间为 3 秒,即提取视频的前 3 秒。
      • -pix_fmt yuv420p:指定输出视频的像素格式为 YUV420P,即每个像素由亮度和两个色度分量组成。
      • -s 320x240:设置输出视频的分辨率为 320x240 像素,即将视频的尺寸调整为 320x240。
      • yuv420p_320x240.yuv:指定输出文件名为 yuv420p_320x240.yuv,即将转换后的视频保存为 YUV420P 格式文件。

      这个命令将输入的视频文件转换为 YUV420P 格式的视频文件,并且将视频的尺寸调整为 320x240,仅提取视频的前 3 秒。

  • 提取RGB

    • 提取3秒数据,分辨率转换为320x240

      ffmpeg -i test_video.mp4 -t 3 -pix_fmt rgb24 -s 320x240 rgb24_320x240.rgb
      
      • -i test_video.mp4:指定输入文件为 test_video.mp4
      • -t 3:设置输出视频的持续时间为 3 秒,即提取视频的前 3 秒。
      • -pix_fmt rgb24:指定输出视频的像素格式为 RGB24,即每个像素由红、绿、蓝三个分量组成。
      • -s 320x240:设置输出视频的分辨率为 320x240 像素,即将视频的尺寸调整为 320x240。
      • rgb24_320x240.rgb:指定输出文件名为 rgb24_320x240.rgb,即将转换后的视频保存为 RGB24 格式文件。

      这个命令将输入的视频文件转换为 RGB24 格式的视频文件,并且将视频的尺寸调整为 320x240,仅提取视频的前 3 秒。

  • RGB和YUV之间的转换

    ffmpeg -s 320x240 -pix_fmt yuv420p -i yuv420p_320x240.yuv -pix_fmt rgb24 rgb24_320x240.rgb
    
    • -s 320x240:设置输入视频的分辨率为320x240像素。
    • -pix_fmt yuv420p:指定输入视频的像素格式为YUV420P,即每个像素由亮度和两个色度分量组成。
    • -i yuv420p_320x240.yuv:指定输入文件为yuv420p_320x240.yuv,即输入的YUV420P格式的视频文件。
    • -pix_fmt rgb24:指定输出视频的像素格式为RGB24,即每个像素由红、绿、蓝三个分量组成。
    • rgb24_320x240.rgb:指定输出文件名为rgb24_320x240.rgb,即将转换后的视频保存为RGB24格式文件。

    这个命令将输入的YUV420P格式的视频文件转换为RGB24格式的视频文件,并将视频的尺寸设置为320x240。

  • 提取PCM

    ffmpeg -i test_audio.mp3 -ar 48000 -ac 2 -f s16le 48000_2_s16le.pcm
    
    • -i test_audio.mp3:指定输入文件为 test_audio.mp3
    • -ar 48000:设置输出音频的采样率为 48000 Hz,表示每秒钟采样 48000 次。
    • -ac 2:设置输出音频的通道数为 2,表示立体声。
    • -f s16le:指定输出音频的格式为 16 位有符号 PCM(s16le),即每个采样点使用 16 位的有符号整数表示。
    • 48000_2_s16le.pcm:指定输出文件名为 48000_2_s16le.pcm,即将转换后的音频保存为 PCM 格式文件。

    这个命令将输入的 MP3 音频文件转换为 16 位有符号 PCM 格式的音频文件,并且设置了采样率为 48000 Hz 和立体声通道数为 2。

    ffmpeg -i test_audio.mp3 -ar 48000 -ac 2 -sample_fmt s16 48000_2_s16.wav
    
    • -i test_audio.mp3:指定输入文件为 test_audio.mp3
    • -ar 48000:设置输出音频的采样率为 48000 Hz,表示每秒钟采样 48000 次。
    • -ac 2:设置输出音频的通道数为 2,表示立体声。
    • -sample_fmt s16:指定输出音频的样本格式为 16 位有符号整数(s16),即每个采样点使用 16 位的有符号整数表示。
    • 48000_2_s16.wav:指定输出文件名为 48000_2_s16.wav,即将转换后的音频保存为 WAV 格式文件。

    这个命令将输入的 MP3 音频文件转换为 WAV 格式的音频文件,并且设置了采样率为 48000 Hz、立体声通道数为 2,以及样本格式为 16 位有符号整数。

    ffmpeg -i test_audio.mp3 -ar 48000 -ac 2 -codec:a pcm_s16le 48000_2_pcms16le.wav
    
    • -i test_audio.mp3:指定输入文件为 test_audio.mp3
    • -ar 48000:设置输出音频的采样率为 48000 Hz,表示每秒钟采样 48000 次。
    • -ac 2:设置输出音频的通道数为 2,表示立体声。
    • -codec:a pcm_s16le:指定音频编码器为 pcm_s16le,即使用 16 位有符号整数编码音频。
    • 48000_2_pcms16le.wav:指定输出文件名为 48000_2_pcms16le.wav,即将转换后的音频保存为 WAV 格式文件。

    这个命令将输入的 MP3 音频文件转换为 WAV 格式的音频文件,并且设置了采样率为 48000 Hz、立体声通道数为 2,以及音频编码格式为 16 位有符号整数。

    ffmpeg -i test_audio.mp3 -ar 48000 -ac 2 -f f32le 48000_2_f32le.pcm
    
    • -i test_audio.mp3:指定输入文件为 test_audio.mp3
    • -ar 48000:设置输出音频的采样率为 48000 Hz,表示每秒钟采样 48000 次。
    • -ac 2:设置输出音频的通道数为 2,表示立体声。
    • -f f32le:指定输出音频的格式为 32 位浮点数 PCM(f32le),即每个采样点使用 32 位的浮点数表示。
    • 48000_2_f32le.pcm:指定输出文件名为 48000_2_f32le.pcm,即将转换后的音频保存为 PCM 格式文件。

    这个命令将输入的 MP3 音频文件转换为 32 位浮点数 PCM 格式的音频文件,并且设置了采样率为 48000 Hz 和立体声通道数为 2。

    ffmpeg -i test_audio.mp4 -t 10 -vn -ar 48000 -ac 2 -f f32le 10_48000_2_f32le.pcm
    
    • -i test_audio.mp4:指定输入文件为test_audio.mp4
    • -t 10:设置输出音频的持续时间为10秒,即提取视频的前10秒。
    • -vn:禁用视频流,即不包含视频流在输出文件中。
    • -ar 48000:设置输出音频的采样率为48000 Hz,表示每秒钟采样48000次。
    • -ac 2:设置输出音频的通道数为2,表示立体声。
    • -f f32le:指定输出音频的格式为32位浮点数PCM(f32le),即每个采样点使用32位的浮点数表示。
    • 10_48000_2_f32le.pcm:指定输出文件名为10_48000_2_f32le.pcm,即将提取出的音频保存为PCM格式文件。

    这个命令将从视频文件中提取前10秒的音频流,并将其保存为32位浮点数PCM格式的音频文件,并且设置了采样率为48000 Hz和立体声通道数为2。

  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值