[FFmpeg-user] Leveraging TensorFlow and FFMPEG

rbarnes at njdevils.net rbarnes at njdevils.net
Sun Apr 21 14:08:15 EEST 2024


Wenbin,

Thank you for the advice.  I spent three days trying to get it working.  No
joy.  I think I may have to move on to something else.
Enjoy the weekend!

Regards,
-Ron

-----Original Message-----
From: ffmpeg-user <ffmpeg-user-bounces at ffmpeg.org> On Behalf Of Chen, Wenbin
Sent: Thursday, April 18, 2024 10:56 PM
To: FFmpeg user questions <ffmpeg-user at ffmpeg.org>
Subject: Re: [FFmpeg-user] Leveraging TensorFlow and FFMPEG


You should add " "or ' ' to model path, because there is special character
in model path that breaks command line.
And you should also set input output name:
"dnn_backend=tensorflow:model=$MODEL_PATH:input=input_port_name:output=outpu
t_port_name "
 Please pay attention to the data format, ffmpeg-dnn tensorflow backend
passes data in format (RGB, NHWC and range(1.0f ~ 0.0f)) to tensorflow
model.

I am not sure if .h5 model is supported since I only tried .pb model.

Best regards
Wenbin

> Hello All,
> 
> 
> 
> I am attempting to leverage Super-resolution from TensorFlow to 
> enhance a video.
> 
> I used FFMPEG to split out each frame.  200K of them.
> 
> I then installed TensorFlow into my windows 11 pro system and verifies 
> the install and path.
> 
> All good.
> 
> 
> 
> I downloaded a pre-trained model from Model Zoo.  Not sure if I even 
> did this right as this is all very new and very complicated.  If 
> anyone has experience with this stuff and can make a recommendation, 
> that would be awesome!!.
> 
> 
> 
> I then wrote a simple script that should enhance the individual frames.
> 
> 
> 
> Script Start:
> 
> 
> 
> echo "Applying super resolution (SRGAN) to each frame..."
> 
> $MODEL_PATH =
> "C:\Super_Resolution\weights-srgan\weights\srgan\pre_generator.h5"
> 
> $OTHER_OPTIONS = ""
> 
> $files = Get-ChildItem *.png
> 
> $total_files = $files.Count
> 
> $current_file = 0
> 
> foreach ($file in $files) {
> 
>     $current_file++
> 
>     $progress = [math]::Round(($current_file / $total_files) * 100)
> 
>     echo "Processing file: $($file.Name) [$current_file/$total_files] 
> ($progress%)"
> 
>     ffmpeg -i "$file" -vf
> dnn_processing=dnn_backend=tensorflow:model=$MODEL_PATH
> $OTHER_OPTIONS
> "enhanced_$($file.Name)"
> 
> }
> 
> 
> 
> Script End:
> 
> 
> 
> It is generating this error:
> 
> 
> 
> Input #0, png_pipe, from
> 'F:\Movies\Wholly_Moses\Temp_Work\frame_0001.png':
> 
>   Duration: N/A, bitrate: N/A
> 
>   Stream #0:0: Video: png, rgb24(pc, gbr/bt709/bt709), 1920x816 [SAR 
> 1:1 DAR 40:17], 25 fps, 25 tbr, 25 tbn
> 
> [AVFilterGraph @ 000001c6d46bbc00] No option name near 
> 'Super_Resolutionweights-srganweightssrganpre_generator.h5'
> 
> [AVFilterGraph @ 000001c6d46bbc00] Error parsing a filter description
> around:
> 
> [AVFilterGraph @ 000001c6d46bbc00] Error parsing filterchain 
> 'dnn_processing=dnn_backend=tensorflow:model=C:\Super_Resolution\weig
> hts-srg
> an\weights\srgan\pre_generator.h5' around:
> 
> [vost#0:0/png @ 000001c6d46bcac0] Error initializing a simple 
> filtergraph
> 
> Error opening output file enhanced_frame_0001.png.
> 
> Error opening output files: Invalid argument
> 
> 
> 
> I have altered the parameters for
> "dnn_processing=dnn_backend=tensorflow" a dozen different ways and it 
> still generates the same error.
> 
> 
> 
> Would anyone be able to help me format a correct command syntax?
> 
> 
> 
> Please let me know if there is any other information needed to help 
> answer this question.
> 
> 
> 
> Regards,
> 
> -Ron
> 
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
> 
> To unsubscribe, visit link above, or email 
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".
_______________________________________________
ffmpeg-user mailing list
ffmpeg-user at ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email ffmpeg-user-request at ffmpeg.org
with subject "unsubscribe".



More information about the ffmpeg-user mailing list