Find Jobs
Hire Freelancers

Fix 2 bugs in an FFmpeg based encoder

$1500-3000 USD

Ακυρώθηκε
Αναρτήθηκε πάνω από 6 χρόνια πριν

$1500-3000 USD

Πληρωμή κατά την παράδοση
We’re looking for someone with FFmpeg development expertise who can help us solve 2 problems. Our company has created an RTMP encoder/streamer application using FFmpeg. The application muxes audio and video from multiple sources, and produces output that it then streams via RTMP, using FFmpeg. The application runs on macOS, currently on Sierra (10.12.6). The problems are as follows: Issue 1. Our FFmpeg based RTMP encoder produces VERY large frames after changing from a static image input. The problem evolves as follows: a. The encoder encodes and streams a still image for 30 or more seconds. During this time, output frames are of a normal size, and the output bitrate is at or under the specified target bit rate. b. The content changes to a different, and moving picture.. At this time, the encoder’s output frames are VERY large, and the output bitrate is far above the specified target bit rate. c. After approximately 30 seconds, the frames sizes return to normal, and the output bitrate of the motion video is roughly equal to the specified target bit rate. There is a proportional relationship between the duration the static image is encoded in step (a) and the frame size and duration of impact. Our encoder settings: Video: - Codec: H.264 - AVC Level: 4.1 - Data Rate: 1000kbps - Resolution: 1280x720p - Keyframe Interval: 2 seconds - Frames per Second: 30 - Profile: High Audio: - Codec: AAC - Sample Rate: 48kHz - Channels: 2 - Data Rate 96kbps FFmpeg command line does not exhibit the same problem. FFmpeg produces consistent frame sizes & the output bitrate remains consistent for the duration of the encode. The following command line is used to in our testing: ffmpeg -re -i [login to view URL] -b:v 1000k -vcodec h264_videotoolbox -ar 48000 -ab 96k -acodec aac -profile:v high -level:v 4.1 -f flv rtmp://hostname/appname/live/ffmpeg-test1 We have also examined the recordings of both the FFmpeg output and of our encoder’s output with FFprobe. We have converted the FFprobe output to CSV format, so it is easier to read. Our encoder's recorded video output ([login to view URL]), and the FFprobe output ([login to view URL]) are attached to this posting. You will notice that our command line uses h264_videotoolbox rather than libx264. Our encoder users h264_videotoolbox also. We have also tested our encoder when using libx264 and it shows exactly the same problem. We would like to resolve this issue with our encoder, so that it will not inflate the frame size, forcing the bit rate over the target bit rate. Our encoder should perform as well as FFmpeg command line does. Issue 2. The RTMP @setDataFrame’s onMetaData payload for our implementation differs from what FFmpeg produces from the command line. The primary concern is that the framerate is not specified. We would like to make sure the framerate is included. Secondarily, We would like to understand why our implementation specifies 'duration' and 'filesize'. This is a live stream so those values seem invalid. Our implementation sends the following values in the onMetaData message: duration: 0.0 width: 1280.0 height: 720.0 videodatarate: 1000.0 videocodecid: 7.0 audiodatarate: 96.0 audiosamplerate: 48000.0 audiosamplesize: 16.0 stereo: true audiocodecid: 10.0 encoder: Lavf57.66.102 filesize: 0.0 Our FFmpeg command line is set as follows, to match the values configured in my implementation as closely as possible. ffmpeg -re -i [login to view URL] -b:v 1000k -vcodec h264_videotoolbox -ar 48000 -ab 96k -acodec aac -profile:v high -level:v 4.1 -f flv rtmp://[login to view URL] FFmpeg sends the following values in the onMetaData message. width: 1280.0 height: 720.0 videodatarate: 976.5625 framerate: 30.0 videocodecid: 7.0 audiodatarate: 93.75 audiosamplerate>48000.0 audiosamplesize: 16.0 stereo: true audiocodecid: 10.0 major_brand: qt minor_version: 0 compatible_brands: qt encoder: Lavf57.56.101
Ταυτότητα εργασίας: 15233007

Σχετικά με την εργασία

2 προτάσεις
Απομακρυσμένη Εργασία
Ενεργός/ή 7 χρόνια πριν

Ψάχνεις τρόπο για να κερδίσεις μερικά χρήματα;

Πλεονεκτήματα πλειοδοσίας στο Freelancer

Καθόρισε τον προϋπολογισμό σου και το χρονοδιάγραμμα
Πληρώσου για τη δουλειά σου
Περίγραψε την πρόταση σου
Η εγγραφή και η πλειοδοσία σε εργασίες είναι δωρεάν
2 freelancers δίνουν μια μέση προσφορά $2.500 USD για αυτή τη δουλειά
Avatar Χρήστη
I read description before bid Professional & Reliable C developer is here I've rich experience in developing C programing apps for 7+ years I'm a top 10 freelancer on Freelancer.com on mobile side Relevant Skills and Experience C Programming Proposed Milestones $2500 USD - Further
$2.500 USD σε 30 ημέρες
5,0 (5 αξιολογήσεις)
6,0
6,0
Avatar Χρήστη
Hi, I’m a Web Designer/Developer from the UK. My name is Mike. Your project description sounds interesting to me and I do have skills & experience that are required to complete this project. Relevant Skills and Experience UX/UI design, front end coding, WordPrss/PHP development. Proposed Milestones $2500 USD - project milestone Let me know when you have a minute for a quick chat.
$2.500 USD σε 30 ημέρες
5,0 (1 αξιολόγηση)
3,2
3,2

Σχετικά με τον πελάτη

Σημαία της UNITED STATES
Carson, United States
4,8
1
Επαληθευμένη μέθοδος πληρωμής
Μέλος από Ιουν 4, 2012

Επαλήθευση Πελάτη

Ευχαριστούμε! Σου έχουμε στείλει ένα email με ένα σύνδεσμο για να διεκδικήσεις τη δωρεάν πίστωση σου.
Κάτι πήγε στραβά κατά την προσπάθεια αποστολής του email σου. Παρακαλούμε δοκίμασε ξανά.
Εγγεγραμμένοι Χρήστες Συνολικές Αναρτημένες Δουλειές
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Φόρτωση προεπισκόπησης
Δόθηκε πρόσβαση για Geolocation.
Η σύνδεση σου έχει λήξει και τώρα έχεις αποσυνδεθεί. Παρακαλούμε συνδέσου ξανά.