Git Product home page Git Product logo

ffmpeg-cedrus's Introduction

FFMpeg for Cedrus on Allwinner devices with sunxi kernel Based on increadible work with jemk and alcantor, we managed to update FFmpeg to include cedrus264 hardware encoder. Now it encodes I and P frames, and support resolutions up to 1080p

To us it, clone the repository, and configure by:

./configure --prefix=/usr --enable-nonfree --enable-gpl --enable-version3 --enable-vdpau --enable-libx264 --enable-libmp3lame --enable-libpulse --enable-libv4l2

and then, make && make install

Alternatively, you can install "checkinstall" package on your target, and create a deb package for easy distribution.

You may download my deb package here also.

FFmpeg README

FFmpeg is a collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata.

Libraries

  • libavcodec provides implementation of a wider range of codecs.
  • libavformat implements streaming protocols, container formats and basic I/O access.
  • libavutil includes hashers, decompressors and miscellaneous utility functions.
  • libavfilter provides a mean to alter decoded Audio and Video through chain of filters.
  • libavdevice provides an abstraction to access capture and playback devices.
  • libswresample implements audio mixing and resampling routines.
  • libswscale implements color conversion and scaling routines.

Tools

  • ffmpeg is a command line toolbox to manipulate, convert and stream multimedia content.
  • ffplay is a minimalistic multimedia player.
  • ffprobe is a simple analisys tool to inspect multimedia content.
  • Additional small tools such as aviocat, ismindex and qt-faststart.

Documentation

The offline documentation is available in the doc/ directory.

The online documentation is available in the main website and in the wiki.

Examples

Conding examples are available in the doc/example directory.

License

FFmpeg codebase is mainly LGPL-licensed with optional components licensed under GPL. Please refer to the LICENSE file for detailed information.

ffmpeg-cedrus's People

Contributors

stulluk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ffmpeg-cedrus's Issues

Not support ALSA

Dear Stulluk,

I faced with problem, when im trying to make a record with audio capture, i get I got an error...

**My command: **
./ffmpeg -f alsa -i hw:1,0 -t 10 -c:a pcm_s16le -ar 44100 -ac 2 -vn -y filename.wav

Output:

ffmpeg version git-2015-01-22-f86a076 Copyright (c) 2000-2014 the FFmpeg developers
  built on May  2 2021 14:51:25 with gcc 9 (Ubuntu 9.3.0-17ubuntu1~20.04)
  configuration: --prefix=/usr --enable-nonfree --enable-gpl --enable-version3 --enable-vdpau --enable-libx264 --enable-libmp3lame --enable-libpulse --enable-libv4l2
  libavutil      54.  6.100 / 54.  6.100
  libavcodec     56.  0.101 / 56.  0.101
  libavformat    56.  2.100 / 56.  2.100
  libavdevice    56.  0.100 / 56.  0.100
  libavfilter     5.  0.102 /  5.  0.102
  libswscale      3.  0.100 /  3.  0.100
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  0.100 / 53.  0.100
**Unknown input format: 'alsa'**

But when i try to use the same command in "main" ffmpeg from original source, all work properly.

My question is how i can add alsa in your version of FFmpeg, or maybe you already fix this problem ?

### Bit More system info:

uname -a
Linux nanopiduo2 5.10.30-sunxi #trunk SMP Sun May 2 15:06:41 CEST 2021 armv7l armv7l armv7l GNU/Linux

### Build way:

cd FFmpeg-Cedrus
./configure --prefix=/usr --enable-nonfree --enable-gpl --enable-version3 --enable-vdpau --enable-libx264 --enable-libmp3lame --enable-libpulse --enable-libv4l2
make -j4
sudo make install

code in repo is I-frame only?

Hi,
I think the deb file outputs P-frames, but the compiled code using the same command does not. It does not look like the code uses the newer p-frame code by jemk. Can you commit the latest code? would be great to work with the newest version :)

can't compile, cedrus264 error

Hi, any hint about this???:

aruntu@aruntu:/etc/aruntu-extras/programs/FFmpeg-Cedrus-master$ sudo make -j2 && sudo make install
LD ffmpeg_g
libavcodec/libavcodec.a(cedrus264.o): In function cedrus264_encode_init': /etc/aruntu-extras/programs/FFmpeg-Cedrus-master/libavcodec/cedrus264.c:218: undefined reference tove_get_regs'
collect2: error: ld returned 1 exit status
make: *** [ffmpeg_g] Error 1

Support h264 hardware decoding

Do you try to make ffmpeg support h264 hardware decoding? it seem that vdpau-sunxi + ffmpeg is a way to do that, i am trying.

Compiled on H3, not working.

When I try to use your ffmpeg to transcode a file to H.264 this is the output I get:

ffmpeg -i bbb.divx -c:v cedrus264 -c:a copy -pix_fmt nv12 out.mkv
ffmpeg version git-2015-01-22-f86a076 Copyright (c) 2000-2014 the FFmpeg developers
built on Jun 12 2016 22:15:02 with gcc 4.9.2 (Debian 4.9.2-10)
configuration:
libavutil 54. 6.100 / 54. 6.100
libavcodec 56. 0.101 / 56. 0.101
libavformat 56. 2.100 / 56. 2.100
libavdevice 56. 0.100 / 56. 0.100
libavfilter 5. 0.102 / 5. 0.102
libswscale 3. 0.100 / 3. 0.100
libswresample 1. 1.100 / 1. 1.100
Input #0, avi, from 'bbb.divx':
Duration: 00:10:17.33, start: 0.000000, bitrate: 3584 kb/s
Stream #0:0: Video: mpeg4 (DX50 / 0x30355844), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 2997 kb/s, 24 fps, 24 tbr, 24 tbn, 30k tbc
Metadata:
title : Video
Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16p, 192 kb/s
Metadata:
title : Audio
Stream #0:2: Audio: ac3 ([0] [0][0] / 0x2000), 48000 Hz, 5.1(side), fltp, 384 kb/s
Metadata:
title : Audio
File 'out.mkv' already exists. Overwrite ? [y/N] y
[VE SUNXI] VE version 0x0000 opened.
[cedrus264 @ 0x1c50cf0] Cannot allocate frame.
Output #0, matroska, to 'out.mkv':
Stream #0:0: Video: h264, q=2-31, 128 kb/s, SAR 1:1 DAR 0:0, 24 fps
Metadata:
title : Video
encoder : Lavc56.0.101 cedrus264
Stream #0:1: Audio: none, 0 channels, 128 kb/s
Metadata:
title : Audio
Stream mapping:
Stream #0:0 -> #0:0 (mpeg4 (native) -> h264 (cedrus264))
Stream #0:2 -> #0:1 (copy)
Error while opening encoder for output stream #0:0 - maybe incorrect parameters such as bit_rate, rate, width or height

I tried to use the .deb file version but that did not work either so I had to compile from source.
Thanks
Ivan

Object files - WTF???

I cannot fetch you repo because of of VERY LARGE OBJECT FILES
Please edit first commit while it possible, drop *.o and add it to gitignore!
You can use git-filter-branch or other same utility.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.