VideoHelp Forum

+ Reply to Thread
Results 1 to 3 of 3
  1. I need to merge odd-even fields of video stream like this: 720x240@50fps -> 720x480@25fps

    This command works well on PC(x86)
    ffmpeg -r 50 -s 720x240 -pix_fmt uyvy422 -i input.yuv -vf "tinterlace=mode=merge" -c:v rawvideo -r 25  -pix_fmt uyvy422 -s:v 720x480 -an output.avi -y
    On arm32, ffmpeg cmd would be like this:
    ffmpeg -f v4l2 -t 5 -r 50 -s 720x240 -i /dev/video0 -pix_fmt uyvy422 -vf "tinterlace=mode=merge" -c:v rawvideo -r 25 -pix_fmt uyvy422 -s:v 720x480 -c:v h264_omx  /mnt/output_480p.avi -y
    But on arm32 "tinterlace" filter not available(I build ffmpeg with all enabled filters), so how to build correct option for ffmpeg with another filter options?

    # ffmpeg -f v4l2 -t 5 -r 50 -s 720x240 -i /dev/video0 -pix_fmt uyvy422 -vf "tint
    erlace=mode=merge" -r 25 -s:v 720x480 -c:v h264_omx /mnt/output_480p.avi -y
    ffmpeg version 4.4.1 Copyright (c) 2000-2021 the FFmpeg developers
    built with gcc[ 6711.284833] tvp5150 0-005c: width = 720, height = 240
    10.3.0 (Buildroot 2021.11)
    configuration: --enable-cross-com[ 6711.295223] tvp5150 0-005c: Set video std register to 4.
    pile --cross-prefix=/home/niyaz/lichee-pi-zero/buildroot-2021.11[ 6711.304386] tvp5150 0-005c: mbus_type: 1
    /output/host/bin/arm-buildroot-linux-gnueabihf- --sysroot=/home/[ 6711.313601] tvp5150 0-005c: V4L2_MBUS_PARALLEL
    niyaz/lichee-pi-zero/buildroot-2021.11/output/host/arm-buildroot-linux-gnueabihf/sysroot --host-cc=/usr/bin/gcc --arch=arm --target-os=linux --disable-stripping --pkg-config=/home/niyaz/lichee-pi-zero/buildroot-2021.11/output/host/bin/pkg-config --disable-static --enable-shared --prefix=/usr --enable-avfilter --disable-version3 --enable-logging --enable-optimizations --disable-extra-warnings --enable-avdevice --enable-avcodec --enable-avformat --enable-network --disable-gray --enable-swscale-alpha --disable-small --enable-dct --enable-fft --enable-mdct --enable-rdft --disable-crystalhd --disable-dxva2 --enable-runtime-cpudetect --disable-hardcoded-tables --disable-mipsdsp --disable-mipsdspr2 --disable-msa --enable-hwaccels --disable-cuda --disable-cuvid --disable-nvenc --disable-avisynth --disable-frei0r --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-libdc1394 --disable-libgsm --disable-libilbc --disable-libvo-amrwbenc --disable-symver --disable-doc --disable-gpl --disable-nonfree --enable-ffmpeg --disable-ffplay --enable-libv4l2 --disable-avresample --disable-ffprobe --disable-libxcb --disable-postproc --disable-swscale --disable-encoders --enable-encoder=h264_omx --disable-decoders --enable-decoder='rawvideo,012v,v210,v210x,yuv4' --disable-muxers --enable-muxer='avi,mp4,rtp,rtsp,h264' --disable-demuxers --disable-protocols --enable-protocol='file,rtp,tcp,udp,pipe' --enable-indevs --disable-alsa --enable-outdevs --enable-pthreads --enable-zlib --disable-bzlib --disable-libfdk-aac --disable-libcdio --disable-gnutls --enable-openssl --disable-libdrm --disable-libopenh264 --disable-vaapi --disable-vdpau --disable-mmal --disable-omx --disable-omx-rpi --disable-libopencv --disable-libopus --disable-libvpx --disable-libass --disable-libbluray --disable-libmfx --disable-librtmp --disable-libmp3lame --disable-libmodplug --disable-libspeex --disable-libtheora --disable-iconv --enable-libfreetype --disable-fontconfig --disable-libopenjpeg --disable-libx264 --disable-libx265 --disable-libdav1d --disable-x86asm --disable-mmx --disable-sse --disable-sse2 --disable-sse3 --disable-ssse3 --disable-sse4 --disable-sse42 --disable-avx --disable-avx2 --enable-armv6 --enable-vfp --enable-neon --disable-altivec --extra-libs=-latomic --enable-pic --cpu=cortex-a7 --enable-omx
    libavutil 56. 70.100 / 56. 70.100
    libavcodec 58.134.100 / 58.134.100
    libavformat 58. 76.100 / 58. 76.100
    libavdevice 58. 13.100 / 58. 13.100
    libavfilter 7.110.100 / 7.110.100
    libswresample 3. 9.100 / 3. 9.100
    [video4linux2,v4l2 @ 0x530410] ioctl(VIDIOC_G_PARM): Inappropriate ioctl for device
    [video4linux2,v4l2 @ 0x530410] Time per frame unknown
    Input #0, video4linux2,v4l2, from '/dev/video0':
    Duration: N/A, start: 6711.337454, bitrate: N/A
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 720x240, 50 tbr, 1000k tbn, 1000k tbc
    Stream mapping:
    Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (h264_omx))
    Press [q] to stop, [?] for help
    [AVFilterGraph @ 0x535400] No such filter: 'tinterlace'
    Error reinitializing filters!
    Failed to inject frame into filter network: Invalid argument
    Error while processing the decoded data for stream #0:0
    [video4linux2,v4l2 @ 0x530410] Some buffers are still owned by the caller on close.
    ioctl(VIDIOC_QBUF): Bad file descriptor
    Conversion failed!
    Quote Quote  
  2. poisondeathray
    thank you, -vf weave exactly what I need
    didn't note this feature when was searching in ffmpeg docs

    PS, I don't see your message here right now
    Quote Quote  

Similar Threads