【发布时间】:2020-08-11 02:14:59
【问题描述】:
我有一个支持 h264 协议的 UVC 相机。当我们列出所有支持的格式时,我们可以看到下面列出的 h264。
msm8909:/data # ./ffmpeg -f v4l2 -list_formats all -i /dev/video1
ffmpeg version N-53546-g5eb4405fc5-static https://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libfribidi --enable-libass --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libxml2 --enable-libxvid --enable-libzimg
libavutil 56. 56.100 / 56. 56.100
libavcodec 58. 97.100 / 58. 97.100
libavformat 58. 49.100 / 58. 49.100
libavdevice 58. 11.101 / 58. 11.101
libavfilter 7. 87.100 / 7. 87.100
libswscale 5. 8.100 / 5. 8.100
libswresample 3. 8.100 / 3. 8.100
libpostproc 55. 8.100 / 55. 8.100
[video4linux2,v4l2 @ 0x4649140] Compressed: h264 : H.264 : 1920x1080 1280x720 640x480 320x240
[video4linux2,v4l2 @ 0x4649140] Compressed: mjpeg : MJPEG : 1920x1080 1280x720 640x480 320x240
我正在运行 ffmpeg cmd 将 UVC 摄像机视频录制到本地设备。
ffmpeg -f v4l2 -input_format h264 -framerate 30 -video_size 1280*720 -i /dev/video1 -c copy /sdcard/Movies/output.mkv
视频大小比运行以下命令要大:
ffmpeg -f v4l2 -input_format mjpeg -framerate 30 -video_size 1280*720 -i /dev/video1 -c:v libx264 -vf format=yuv420p /sdcard/Movies/output.mp4
我假设相机已经支持 h264 协议。因此我不需要重新编码为 264 格式。但是,视频大小看起来不像是 H264 编码的视频。
【问题讨论】: