Hello.
Using resize and removing scale_npp was the right way.
Thanks again :)
On 7/30/2017 2:28 AM, James Girotti wrote:
On Jul 29, 2017 3:50 PM, "tasos" <[email protected]
<mailto:[email protected]>> wrote:
Hello.
I'm using git latest version of ffmpeg.
First of all i don't want to change pixel format.
I was just reading that inserting it is better.I should find the
source.
Well hwupload_cuda with scale_npp can be found on different sites
on the Internet.
I suppose they were using an older version or something.
Moreover i can understand that the patch that i was talking about
was inserted in ffmpeg and there is no need to talk about it.
If you're using the latest git version of ffmpeg, then resizing should
be included in the h264_cuvid decoder. So you don't have to use
scale-npp. The decoder also includes cropping (awesome!).
Check the output for -h decoder=h264_cuvid for parameters.
So
a) How do you propose to deinterlace,because as i have said
deinterlacing is my main problem right now!
Let me clarify, I frequently use deinterlacing with mpeg2_cuvid. I
have found that bob is better than adaptive. Some video sources
require me to include -vf "fps=fps=30000/1001" to look right.
Specifically if I get a lot of messages about frames having too long
of a duration.
b) Moreover i think i should use
-vf
"scale_npp=w=1280:h=-1:format=yuv420p:interp_algo=lanczos,hwdownload"
Right?
Latest git version: forget about scale-npp. Use the decoder to resize,
GPU performance is better with resizing in the decoder than scale-npp.
And no bothersome hwdownload/upload_cuda, whatever. I don't know if
you can use the "ih" keyword with the decoder though. You might give
it a try.
Try something like:
ffmpeg -hwaccel cuvid -c:v h264_cuvid -deint bob -resize 1280x800 -i
foo -c:v h264_nvenc -c:a aac ./bar
If the video looks jumpy, then try specifying the frame rate (whatever
your frame rate is, mine is usually 29.97fps):
ffmpeg -hwaccel cuvid -c:v h264_cuvid -deint bob -resize 1280x800 -i
foo -c:v h264_nvenc -vf "fps=fps=30000/1001" -c:a aac ./bar
If that isn't acceptable, you can try the other deinterlacers:
adaptive or weave. If those aren't good, you might have to leave it
interlaced or use a software deinterlacer. Software deinterlacing is
significantly slower and much more resource intense.
I cannot give any advice on software deinterlacing, still a little
confusing to me what works best. Maybe someone else on the list could
help with that.
Hope that helps!
-J
Thanks again!
On 7/30/2017 1:32 AM, James Girotti wrote:
On Jul 29, 2017 1:04 PM, "tasos" <[email protected]
<mailto:[email protected]>> wrote:
Hello again Sir!
I was avoiding to disturb you but i can't find a solution on
my problem
again!
Please email the list and not me directly. I would like for
the whole
community to be involved.
First of all,my sources are interlaced so i want to
deinterlace them.
Every time i use
time ffmpeg -y -hwaccel cuvid -c:v h264_cuvid -deint 1 or -deint 2
the resulted video stalls/freezes then continues and this goes
on and on.
I have not done deinterlacing with cuda h264 decoder. I have
not had good
results from the adaptive deinterlacing and mixed results with
bob if the
source isn't >75% interlaced.
That part of your command looks fine, but I usually use words
for the
-deint argument instead of numbers, shouldn't be a problem though.
So i have 2 questions.
1)How can i perform proper deinterlacing , i suppose using
cuda/hardware.
2) Every time i run the following
time ffmpeg -y -hwaccel cuvid -c:v h264_cuvid \
-i http://85.196.57.134:8001/1:0:1:1:0:0:0:0:0:0
<http://85.196.57.134:8001/1:0:1:1:0:0:0:0:0:0>: \
-strict experimental \
-vf "hwupload_cuda,scale_npp=w=1280:h=-1:format=yuv420p:
interp_algo=lanczos,hwdownload,format=yuv420p" \
-c:v h264_nvenc \
-zerolatency true \
-preset ll \
-r 25 -g 50 -qmin 1 -qmax 50 \
-b:v 1M -maxrate 1M -bufsize 2M \
-codec:a aac -b:a 64k \
-f flv rtmp://foobar
i get again the same old error!
Impossible to convert between the formats supported by the
filter 'graph 0
input from stream 0:0' and the filter 'auto_scaler_0'
Error reinitializing filters!
Failed to inject frame into filter network: Function not
implemented
Error while processing the decoded data for stream #0:0
Your filter order is mixed-up. Scale-npp filter uses cuda
context. So you
don't have to hwdownload or hwupload_cuda for just scale-npp.
Sorry, I'm away from my computer, does scale-npp have an
option for format?
Also, unless you are changing format, I don't think you have
to include
that as your source is yuv420p. Anyway, you have the same
problem as
before. The last format statement in your filter parameters
would be a
software filter, see my last email if you really want to
change pixel
format.
Of course if i remove hwupload_cuda then everything works fine.
I have used scale_npp because i wanted to scale on hardware
and now i can't
use it(or at least hwupload_cuda is not accepted).
What am i doing wrong?
Thank you very much and if you want me to post this email on
the mailing
list please let me know(so people will know that you have
answered my
question again).
ps:I was reading
http://developer.download.nvidia.com/compute/redist/
<http://developer.download.nvidia.com/compute/redist/>
ffmpeg/1511-patch/FFMPEG-with-NVIDIA-Acceleration-on-Ubuntu_UG_v01.pdf
and there is a patch for ffmpeg http://developer.download.
nvidia.com/compute/redist/ffmpeg/1511-patch/ffmpeg_
<http://nvidia.com/compute/redist/ffmpeg/1511-patch/ffmpeg_>
NVIDIA_gpu_acceleration.patch
in order to enable the --enable-nvresize option. Of course
this patch is
for a specific git commit(2015).I was wondering about nvresize
and if you
know something more.
From what I've read nvresize is the same as scale-npp or it
was depricated.
It certainly is in newest ffmpeg version.
That said:
I'm way ahead of myself. I should have asked in the beginning
which version
of ffmpeg you're using. My answers will depend on your
version. Also, send
the output of:
ffmpeg -h decoder=h264_cuvid
And
ffmpeg -h filter=scale_npp
-J
On 7/25/2017 1:24 AM, James Girotti wrote:
On Mon, Jul 24, 2017 at 2:57 PM, tasos
<[email protected] <mailto:[email protected]>>
wrote:
Hello and thanks for replying.
Your information is very useful and i thank you!
You're welcome!
My colleague uses an older version of ffmpeg and the specific
combination
(including pix_fmt)
ffmpeg -y -hwaccel cuvid -c:v h264_cuvid
works without any errors.That was my question.I thought i
was doing
something wrong or whatever.So i suppose that something
has changed
from his version until mine(git latest).
So i have removed -pix_fmt yuv420p and everything works fine.
I also would like to search about the hwdownload option
you have entered.
This is important if you want to use any software video filters.
I don't want to change the pixel format(i don't know why
you have thought
about it).
Just in case you were trying to change pixel format, I
couldn't tell from
your initial email.
Is this the correct way to go?
ffmpeg -y -hwaccel cuvid -c:v h264_cuvid -deint 1
-vsync 1 -timeout
999999 -i foo \
-map 0:v -c:v h264_nvenc -preset slow -profile:v high
-b:v 1300k -map
0:a:0 -c:a libfdk_aac -ac 2 -b:a 64k -strict
experimental \
-f flv bar
It looks fine as far as full hardware transcoding. I did get
an error that
there is no such option '-timeout', so you might also
encounter that. And
of course you can tweak the other parameters to your use-case,
i.e. bitrate
Thanks again for your reply it was very useful and
answered my question :)
Good luck! I'll try to help if you have any more problems.
-J
_______________________________________________
ffmpeg-user mailing list
[email protected] <mailto:[email protected]>
http://ffmpeg.org/mailman/listinfo/ffmpeg-user
<http://ffmpeg.org/mailman/listinfo/ffmpeg-user>
To unsubscribe, visit link above, or email
[email protected]
<mailto:[email protected]> with subject
"unsubscribe".
_______________________________________________
ffmpeg-user mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/ffmpeg-user
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".