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。