Need assistance finding l transcoding

classic Classic list List threaded Threaded
13 messages Options
Reply | Threaded
Open this post in threaded view
|

Need assistance finding l transcoding

James E. Baird
Hello,

I am trying to find the most efficient way to take a udp stream (Source OTA) and transcode video to h.264, audio to AAC, output as 3 aligned cbr (1500/3500/6000k) streams (udp), gop 2 (60 for 30FPS or 120 for 60FPS)

Here is the command I am currently using but the CPU usage seems way to high for what I am doing.
AMD Opteron(tm) Processor 6282 SE with 8 cores assigned to VM but all 8 are pegged when running this.

ffmpeg -i 'udp://@239.129.1.5:59005?fifo_size=1000000&overrun_nonfatal=1' -c:v libx264 -x264opts keyint=120:no-scenecut -b:v 6000k -profile:v high -c:a aac -f mpegts udp://@239.129.2.10:50010

-Thanks,
Jimbo





CONFIDENTIALITY NOTICE: This e-mail including attachments is covered by the Electronic Communications Privacy Act, 18 U.S.C. §§2510-2521, is confidential and may contain information that is privileged, confidential or otherwise protected from use and disclosure. If you are not the intended recipient, you are hereby notified that any review, disclosure, copying, or dissemination of this transmission, or taking of any action in reliance on its contents, or other use is strictly prohibited. If you have received this transmission in error, please reply to the sender listed above immediately and permanently delete this message from your inbox.
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Need assistance finding l transcoding

Carl Zwanzig
On 12/13/2018 8:51 AM, James E. Baird wrote:
> Here is the command I am currently using but the CPU usage seems way to high for what I am doing.
> AMD Opteron(tm) Processor 6282 SE with 8 cores assigned to VM but all 8 are pegged when running this.

Are they all pegged in compute or is there a lot else going on? (and what
does the VM management system say?)

> ffmpeg -i 'udp://@239.129.1.5:59005?fifo_size=1000000&overrun_nonfatal=1' -c:v libx264 -x264opts keyint=120:no-scenecut -b:v 6000k -profile:v high -c:a aac -f mpegtsudp://@239.129.2.10:50010

It would help to know what version/build and OS you're using and what it's
doing (please include the full command output, without using --hide-banners).

z!
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Need assistance finding l transcoding

James E. Baird
Carl,

Ubuntu 14.04.5 LTS running on ESXI 6.0 host. Seeing the similar results with an Intel Xeon server.

"Are they all pegged in compute or is there a lot else going on? (and what does the VM management system say?)" - All 8 cores get pegged. This is the only work being applied on the server and the VM management system reflects the CPU usage.

====== FFPROBE output for source channel ======
ffprobe version git-2017-01-22-f1214ad Copyright (c) 2007-2017 the FFmpeg developers
  built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
  configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --mandir=/usr/share/man --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libfreetype --enable-gnutls --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvidstab --enable-libwavpack --enable-nvenc
  libavutil      55. 44.100 / 55. 44.100
  libavcodec     57. 75.100 / 57. 75.100
  libavformat    57. 63.100 / 57. 63.100
  libavdevice    57.  2.100 / 57.  2.100
  libavfilter     6. 69.100 /  6. 69.100
  libavresample   3.  2.  0 /  3.  2.  0
  libswscale      4.  3.101 /  4.  3.101
  libswresample   2.  4.100 /  2.  4.100
  libpostproc    54.  2.100 / 54.  2.100
[mpeg2video @ 0x3568dc0] Invalid frame dimensions 0x0.
    Last message repeated 38 times
Input #0, mpegts, from 'udp://@239.129.2.110:59110':
  Duration: N/A, start: 84593.861144, bitrate: N/A
  Program 3
    Stream #0:0[0x31]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, bottom first), 1280x720 [SAR 1:1 DAR 16:9], Closed Captions, 59.94 fps, 59.94 tbr, 90k tbn, 119.88 tbc
    Stream #0:1[0x34](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 384 kb/s
    Stream #0:2[0x35](spa): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 128 kb/s


====== FFPROBE output of destination stream =====

# ffprobe udp://@239.129.2.240:59240
ffprobe version git-2017-01-22-f1214ad Copyright (c) 2007-2017 the FFmpeg developers
  built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
 [h264 @ 0x3dbddc0] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x3dbddc0] decode_slice_header error
[h264 @ 0x3dbddc0] no frame!
[h264 @ 0x3dbddc0] non-existing PPS 0 referenced
    Last message repeated 1 times
[h264 @ 0x3dbddc0] decode_slice_header error
[h264 @ 0x3dbddc0] no frame!
Input #0, mpegts, from 'udp://@239.129.2.240:59240':
  Duration: N/A, start: 88.184000, bitrate: N/A
  Program 1
    Metadata:
      service_name    : Service01
      service_provider: FFmpeg
    Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], Closed Captions, 59.94 fps, 59.94 tbr, 90k tbn, 119.88 tbc
    Stream #0:1[0x101](eng): Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, 5.1, fltp, 304 kb/s


=======FFMPEG output ======

# ffmpeg -i 'udp://@239.129.2.110:59110?fifo_size=1000000&overrun_nonfatal=1' -c:v libx264 -x264opts keyint=120:no-scenecut -b:v 6000k -profile:v high -c:a aac -f mpegts udp://@239.129.2.240:59240
ffmpeg version git-2017-01-22-f1214ad Copyright (c) 2000-2017 the FFmpeg developers
  built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
  configuration: --extra-libs=-ldl --prefix=/opt/ffmpeg --mandir=/usr/share/man --enable-avresample --disable-debug --enable-nonfree --enable-gpl --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --disable-decoder=amrnb --disable-decoder=amrwb --enable-libpulse --enable-libfreetype --enable-gnutls --enable-libx264 --enable-libx265 --enable-libfdk-aac --enable-libvorbis --enable-libmp3lame --enable-libopus --enable-libvpx --enable-libspeex --enable-libass --enable-avisynth --enable-libsoxr --enable-libxvid --enable-libvidstab --enable-libwavpack --enable-nvenc
  libavutil      55. 44.100 / 55. 44.100
  libavcodec     57. 75.100 / 57. 75.100
  libavformat    57. 63.100 / 57. 63.100
  libavdevice    57.  2.100 / 57.  2.100
  libavfilter     6. 69.100 /  6. 69.100
  libavresample   3.  2.  0 /  3.  2.  0
  libswscale      4.  3.101 /  4.  3.101
  libswresample   2.  4.100 /  2.  4.100
  libpostproc    54.  2.100 / 54.  2.100
[mpeg2video @ 0x30106e0] Invalid frame dimensions 0x0.
    Last message repeated 58 times
Input #0, mpegts, from 'udp://@239.129.2.110:59110?fifo_size=1000000&overrun_nonfatal=1':
  Duration: N/A, start: 84575.781144, bitrate: N/A
  Program 3
    Stream #0:0[0x31]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, bottom first), 1280x720 [SAR 1:1 DAR 16:9], Closed Captions, 59.94 fps, 59.94 tbr, 90k tbn, 119.88 tbc
    Stream #0:1[0x34](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 384 kb/s
    Stream #0:2[0x35](spa): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 128 kb/s
[libx264 @ 0x30ffda0] using SAR=1/1
[libx264 @ 0x30ffda0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX XOP FMA4 LZCNT
[libx264 @ 0x30ffda0] profile High, level 3.2
Output #0, mpegts, to 'udp://@239.129.2.240:59240':
  Metadata:
    encoder         : Lavf57.63.100
    Stream #0:0: Video: h264 (libx264), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 6000 kb/s, 59.94 fps, 90k tbn, 59.94 tbc
    Metadata:
      encoder         : Lavc57.75.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/6000000 buffer size: 0 vbv_delay: -1
    Stream #0:1(eng): Audio: aac (LC), 48000 Hz, 5.1(side), fltp, 341 kb/s
    Metadata:
      encoder         : Lavc57.75.100 aac
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg2video (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (ac3 (native) -> aac (native))
Press [q] to stop, [?] for help
frame=11155 fps= 55 q=25.0 size=  161663kB time=00:03:06.83 bitrate=7088.2kbits/s speed=0.916x


====== Top shows ========
%CPU 752.2 - %MEM 28.9 - 35:03.24 ffmpeg

====== FMPEG version =======
ffmpeg          7:3.2.2+git~trusty             amd64

-Thanks
Jimbo
CONFIDENTIALITY NOTICE: This e-mail including attachments is covered by the Electronic Communications Privacy Act, 18 U.S.C. §§2510-2521, is confidential and may contain information that is privileged, confidential or otherwise protected from use and disclosure. If you are not the intended recipient, you are hereby notified that any review, disclosure, copying, or dissemination of this transmission, or taking of any action in reliance on its contents, or other use is strictly prohibited. If you have received this transmission in error, please reply to the sender listed above immediately and permanently delete this message from your inbox.
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Need assistance finding l transcoding

Carl Zwanzig
On 12/13/2018 9:12 AM, James E. Baird wrote:
> ffprobe version git-2017-01-22-f1214ad Copyright (c) 2007-2017 the FFmpeg developers

First thing- get a newer version (the latest, if possible) of ffmpeg and see
how that behaves. Best would to build from the latest source, but at least
something no more than a couple of months old. The official position of
developers, and I am not one of them, is that only the latest revision in
git is "supported" here. Anyway, try a newer version.

You might also try transcoding into a file (or null) and outputing from a
file to see if one or the other parts is a CPU hog.

z!
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Need assistance finding l transcoding

James E. Baird
Carl,

Thanks for the suggestions so far. I suspect there is something in that command that is causing the high CPU usage. Maybe there is a better way to structure the command. I spun up a new server running Ubuntu 18.04.1 LTS and installed FFMPEG version 7.3.4.4 which is the current supported version for Bionic Beaver.

I tried what you said and output to NULL with the same results in regards to the CPU usage so I don’t think it’s the re-pack to UDP multicast.

======== OUTPUT ==================
transcoder:~$ ffmpeg -i 'udp://@239.129.2.110:59110?fifo_size=1000000&overrun_nonfatal=1' -c:v libx264 -x264opts keyint=120:no-scenecut -b:v 6000k -profile:v high -c:a aac -f null /dev/null
ffmpeg version 3.4.4-0ubuntu0.18.04.1 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
  configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
[mpeg2video @ 0x55d5c951cec0] Invalid frame dimensions 0x0.
    Last message repeated 13 times
Input #0, mpegts, from 'udp://@239.129.2.110:59110?fifo_size=1000000&overrun_nonfatal=1':
  Duration: N/A, start: 89749.701144, bitrate: N/A
  Program 3
    Stream #0:0[0x31]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, bottom first), 1280x720 [SAR 1:1 DAR 16:9], Closed Captions, 59.94 fps, 59.94 tbr, 90k tbn, 119.88 tbc
    Stream #0:1[0x34](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 384 kb/s
    Stream #0:2[0x35](spa): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 128 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg2video (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (ac3 (native) -> aac (native))
Press [q] to stop, [?] for help
[libx264 @ 0x55d5c9a46980] using SAR=1/1
[libx264 @ 0x55d5c9a46980] using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX XOP FMA4
[libx264 @ 0x55d5c9a46980] profile High, level 3.2
Output #0, null, to '/dev/null':
  Metadata:
    encoder         : Lavf57.83.100
    Stream #0:0: Video: h264 (libx264), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 6000 kb/s, 59.94 fps, 59.94 tbn, 59.94 tbc
    Metadata:
      encoder         : Lavc57.107.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/6000000 buffer size: 0 vbv_delay: -1
    Stream #0:1(eng): Audio: aac (LC), 48000 Hz, 5.1(side), fltp, 341 kb/s
    Metadata:
      encoder         : Lavc57.107.100 aac
frame= 2917 fps= 49 q=31.0 size=N/A time=00:00:48.91 bitrate=N/A speed=0.828x


Thoughts?
-Jimbo
CONFIDENTIALITY NOTICE: This e-mail including attachments is covered by the Electronic Communications Privacy Act, 18 U.S.C. §§2510-2521, is confidential and may contain information that is privileged, confidential or otherwise protected from use and disclosure. If you are not the intended recipient, you are hereby notified that any review, disclosure, copying, or dissemination of this transmission, or taking of any action in reliance on its contents, or other use is strictly prohibited. If you have received this transmission in error, please reply to the sender listed above immediately and permanently delete this message from your inbox.
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Need assistance finding l transcoding

Moritz Barsnick
On Thu, Dec 13, 2018 at 18:33:02 +0000, James E. Baird wrote:
> I spun up a new server running Ubuntu 18.04.1 LTS and installed
> FFMPEG version 7.3.4.4 which is the current supported version for
> Bionic Beaver.

Though I think that't not the issue, you should grab a much newer
version. You can get a pre-built binary here:
https://johnvansickle.com/ffmpeg/
Please use the "git" version from the left hand side.

> Thanks for the suggestions so far. I suspect there is something in
> that command that is causing the high CPU usage. Maybe there is a
> better way to structure the command.

> %CPU 752.2 - %MEM 28.9 - 35:03.24 ffmpeg

Well, at least you seem to be utilizing your 8 CPUs almost as much as
possible, so it doesn't seem to be a threading issue.

> transcoder:~$ ffmpeg -i 'udp://@239.129.2.110:59110?fifo_size=1000000&overrun_nonfatal=1' -c:v libx264 -x264opts keyint=120:no-scenecut -b:v 6000k -profile:v high -c:a aac -f null /dev/null

Does it need to be fixed bitrate? (Just wondering.)

> frame= 2917 fps= 49 q=31.0 size=N/A time=00:00:48.91 bitrate=N/A speed=0.828x

Is this ultimately the issue? That you can't encode at real time?

At "constant"/average bitrate (-b:v), you should be able to use
libx264's presets to trade off quality for speed. Perhaps you can
achieve >1.0x that way. I don't see how you will do three simultaneous
encodes though.

BTW, eight CPUs to encode 1280x720@59.94 in realtime seems sort of
heavy. Are these Atom cores or something similarly weak?

> AMD Opteron(tm) Processor 6282 SE

Oh. Hmm.

> Thoughts?

Not many, sorry.

Moritz
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Need assistance finding l transcoding

James E. Baird
Moritz,

>Does it need to be fixed bitrate? (Just wondering.)

It does need to be a CBR. It will be converted to an adaptive stream for a streaming app

>Is this ultimately the issue? That you can't encode at real time?

These are live streams that need to be forwarded off, packaged in HLS and sent to streaming app and accessible within 1 minute from broadcast so that is part of it.

>At "constant"/average bitrate (-b:v), you should be able to use libx264's presets to trade off quality for speed. Perhaps you can achieve >1.0x that way. I don't see how you will do three simultaneous encodes though.
>BTW, eight CPUs to encode 1280x720@59.94 in realtime seems sort of heavy. Are these Atom cores or something similarly weak?

I felt that I should get more horsepower as well and that is the main reason I started this thread. I have been working with live streams for a few years now but surprisingly, this is the first time I have needed to dig into transcoding like this so I was hoping there was something glaringly inefficient about how I was trying to get to the end result. I see some venders of transcoders using CPUs that are not as powerful as this one on their transcoding hardware (without GPU or ASIC chips) and I am assuming they are leveraging FFMPEG or something similar in the background.

I have edited my command a bit. The biggest performance change I am seeing is changing the preset to ultrafast. I am not sure that quality will work yet but it gets the utilization down to 350% CPU usage. The other performance gain comes from combing the 3 output bitrates into a single command. Not sure if anyone has further suggestions for this?

=========== New command ============
transcoder:~$ ffmpeg -i 'udp://@239.129.2.110:59110?fifo_size=1000000&overrun_nonfatal=1' \
> -c:v libx264 -x264opts keyint=120:no-scenecut -preset ultrafast -b:v 6000k -minrate 6000k -maxrate 6000k -bufsize 12000k -profile:v high -level 4.0 -c:a aac -f mpegts udp://@239.129.2.240:59240 \
> -c:v libx264 -x264opts keyint=120:no-scenecut -preset ultrafast -b:v 3500k -minrate 3500k -maxrate 3500k -bufsize 9000k -profile:v high -level 4.0 -c:a aac -f mpegts udp://@239.129.2.241:59241 \
> -c:v libx264 -x264opts keyint=120:no-scenecut -preset ultrafast -b:v 1500k -minrate 1500k -maxrate 1500k -bufsize 3000k -profile:v high -level 4.0 -c:a aac -f mpegts udp://@239.129.2.242:59242

===========OUTPUT ===============
ffmpeg version 3.4.4-0ubuntu0.18.04.1 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
  configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libavresample   3.  7.  0 /  3.  7.  0
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
[mpeg2video @ 0x556b70e9c580] Invalid frame dimensions 0x0.
    Last message repeated 7 times
Input #0, mpegts, from 'udp://@239.129.2.110:59110?fifo_size=1000000&overrun_nonfatal=1':
  Duration: N/A, start: 95234.341144, bitrate: N/A
  Program 3
    Stream #0:0[0x31]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, bottom first), 1280x720 [SAR 1:1 DAR 16:9], Closed Captions, 59.94 fps, 59.94 tbr, 90k tbn, 119.88 tbc
    Stream #0:1[0x34](eng): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, 5.1(side), fltp, 384 kb/s
    Stream #0:2[0x35](spa): Audio: ac3 (AC-3 / 0x332D4341), 48000 Hz, stereo, fltp, 128 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg2video (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (ac3 (native) -> aac (native))
  Stream #0:0 -> #1:0 (mpeg2video (native) -> h264 (libx264))
  Stream #0:1 -> #1:1 (ac3 (native) -> aac (native))
  Stream #0:0 -> #2:0 (mpeg2video (native) -> h264 (libx264))
  Stream #0:1 -> #2:1 (ac3 (native) -> aac (native))
Press [q] to stop, [?] for help
[libx264 @ 0x556b70e951e0] using SAR=1/1
[libx264 @ 0x556b70e951e0] using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX XOP FMA4
[libx264 @ 0x556b70e951e0] profile Constrained Baseline, level 4.0
Output #0, mpegts, to 'udp://@239.129.2.240:59240':
  Metadata:
    encoder         : Lavf57.83.100
    Stream #0:0: Video: h264 (libx264), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 6000 kb/s, 59.94 fps, 90k tbn, 59.94 tbc
    Metadata:
      encoder         : Lavc57.107.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 6000000/0/6000000 buffer size: 12000000 vbv_delay: -1
    Stream #0:1(eng): Audio: aac (LC), 48000 Hz, 5.1(side), fltp, 341 kb/s
    Metadata:
      encoder         : Lavc57.107.100 aac
[libx264 @ 0x556b70e8d040] using SAR=1/1
[libx264 @ 0x556b70e8d040] using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX XOP FMA4
[libx264 @ 0x556b70e8d040] profile Constrained Baseline, level 4.0
Output #1, mpegts, to 'udp://@239.129.2.241:59241':
  Metadata:
    encoder         : Lavf57.83.100
    Stream #1:0: Video: h264 (libx264), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 3500 kb/s, 59.94 fps, 90k tbn, 59.94 tbc
    Metadata:
      encoder         : Lavc57.107.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 3500000/0/3500000 buffer size: 9000000 vbv_delay: -1
    Stream #1:1(eng): Audio: aac (LC), 48000 Hz, 5.1(side), fltp, 341 kb/s
    Metadata:
      encoder         : Lavc57.107.100 aac
[libx264 @ 0x556b71482860] using SAR=1/1
[libx264 @ 0x556b71482860] using cpu capabilities: MMX2 SSE2Fast LZCNT SSSE3 SSE4.2 AVX XOP FMA4
[libx264 @ 0x556b71482860] profile Constrained Baseline, level 4.0
Output #2, mpegts, to 'udp://@239.129.2.242:59242':
  Metadata:
    encoder         : Lavf57.83.100
    Stream #2:0: Video: h264 (libx264), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=-1--1, 1500 kb/s, 59.94 fps, 90k tbn, 59.94 tbc
    Metadata:
      encoder         : Lavc57.107.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 1500000/0/1500000 buffer size: 3000000 vbv_delay: -1
    Stream #2:1(eng): Audio: aac (LC), 48000 Hz, 5.1(side), fltp, 341 kb/s
    Metadata:
      encoder         : Lavc57.107.100 aac
frame=163201 fps= 60 q=27.0 q=30.0 q=36.0 size= 2257986kB time=00:45:22.90 bitrate=6793.3kbits/s speed=   1x


CONFIDENTIALITY NOTICE: This e-mail including attachments is covered by the Electronic Communications Privacy Act, 18 U.S.C. §§2510-2521, is confidential and may contain information that is privileged, confidential or otherwise protected from use and disclosure. If you are not the intended recipient, you are hereby notified that any review, disclosure, copying, or dissemination of this transmission, or taking of any action in reliance on its contents, or other use is strictly prohibited. If you have received this transmission in error, please reply to the sender listed above immediately and permanently delete this message from your inbox.
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Need assistance finding l transcoding

Moritz Barsnick
On Thu, Dec 13, 2018 at 20:49:56 +0000, James E. Baird wrote:
> It does need to be a CBR. It will be converted to an adaptive stream for a streaming app

It's actually ABR you're creating, if I understand correctly.

> I felt that I should get more horsepower as well and that is the main
> reason I started this thread.

My dual-core Haswell Ultrabook can handle your command line at 1.4x
(using testsrc2 input though, probably easy to encode), at preset
"fast" it drops to 0.7. But that's 2, not 8, cores.

> The biggest performance change I am seeing is changing the preset to
> ultrafast.

Unfortunately, that preset is a bandwidth hog, and will drop quality
significantly. Actually, it also lowers your profile to "Constrained
Baseline". :-(

> The other performance gain comes from combing the 3 output bitrates
> into a single command.

Sure, that's the way to go. (You need to demux and decode only once,
then.)

> Not sure if anyone has further suggestions for this?

I was hoping others had comparable benchmarks.

Moritz
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Need assistance finding l transcoding

James E. Baird
>It's actually ABR you're creating, if I understand correctly.

Not yet as I am actually outputting 3 multicast streams, each with a set bitrate(1500/3500/6000). They will be captured on the other side of the network and then muxed together to create the ABR stream (a design that, as of yet, cannot be avoided).

>Unfortunately, that preset is a bandwidth hog, and will drop quality significantly. Actually, it also lowers your profile to "Constrained Baseline". :-(

Bandwidth piece wouldn't be as much of a problem since this is layer2 to the endpoint that will mux them back together but the quality loss and profile change is a problem.
If I go to superfast my speed drops to .914 on average. If I understand correctly, this means I am slowing getting farther and farther behind? Will I eventually have an overrun in my fifo buffer causing a reset and lost data? Just double checking my understanding there.

Thanks so far for the help so far.

Maybe someone else will chime in with the best answer ever!

-Jimbo
CONFIDENTIALITY NOTICE: This e-mail including attachments is covered by the Electronic Communications Privacy Act, 18 U.S.C. §§2510-2521, is confidential and may contain information that is privileged, confidential or otherwise protected from use and disclosure. If you are not the intended recipient, you are hereby notified that any review, disclosure, copying, or dissemination of this transmission, or taking of any action in reliance on its contents, or other use is strictly prohibited. If you have received this transmission in error, please reply to the sender listed above immediately and permanently delete this message from your inbox.
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Need assistance finding l transcoding

Carl Zwanzig

If you haven't already, I'd try pulling the up-to-date source and building
that. AMD and intel CPUs differ, sometimes in strange ways, and a
local-built version is often better than any downloaded one.

Also, have you tried capturing the stream directly into a file and using
that for test? That would remove the UDP receiver from chain and allow some
more off-line experimentation.

Unfortunately, I don't have anything else to add at the moment (but I'm
really curious where this goes).

Later,

z!

_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Need assistance finding l transcoding

Jim Shupert, Jr.-2
In reply to this post by James E. Baird
;)
strictly prohibited.
If you have received this transmission in error,
please reply to the sender listed above immediately and permanently delete this message from your inbox.
:)

I am not so sure i " received this transmission in error "
but -- ok -- i deleted it

_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Need assistance finding l transcoding

Reindl Harald


Am 18.12.18 um 17:50 schrieb Jim Shupert:
> ;)
> strictly prohibited.
> If you have received this transmission in error,
> please reply to the sender listed above immediately and permanently
> delete this message from your inbox.
> :)
>
> I am not so sure i " received this transmission in error "
> but -- ok -- i deleted it

yeah all these fools with their "If you are not the intended recipient"
while in that case it won't enter my inbox not realizing that this
bullshit don't belong to public lists and if it#s added by the smtp
server they have to use a different service for public communication

and they have to add that shit on top *before* you even read the content
_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".
Reply | Threaded
Open this post in threaded view
|

Re: Need assistance finding l transcoding

Rodney Baker
In reply to this post by James E. Baird
On Friday, 14 December 2018 3:21:40 ACDT James E. Baird wrote:

> Hello,
>
> I am trying to find the most efficient way to take a udp stream (Source OTA)
> and transcode video to h.264, audio to AAC, output as 3 aligned cbr
> (1500/3500/6000k) streams (udp), gop 2 (60 for 30FPS or 120 for 60FPS)
>
> Here is the command I am currently using but the CPU usage seems way to high
> for what I am doing. AMD Opteron(tm) Processor 6282 SE with 8 cores
> assigned to VM but all 8 are pegged when running this.
>
> ffmpeg -i 'udp://@239.129.1.5:59005?fifo_size=1000000&overrun_nonfatal=1'
> -c:v libx264 -x264opts keyint=120:no-scenecut -b:v 6000k -profile:v high
> -c:a aac -f mpegts udp://@239.129.2.10:50010
>
> -Thanks,
> Jimbo
>

Have you thought of trying either vaapi (AMD) or nvenc (NVidia) hardware
encoders to move the processing off the CPU onto the GPU (depending, of
course, on which GPU you have in the system/s)?

More info here: https://gist.github.com/
Brainiarc7/4b49f463a08377530df6cecb8171306a

--
==============================================================
Rodney Baker VK5ZTV
[hidden email]
CCNA #CSCO12880208
==============================================================


_______________________________________________
ffmpeg-user mailing list
[hidden email]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[hidden email] with subject "unsubscribe".