Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Capturing and Editing Video > Avisynth Usage

Reply
 
Thread Tools Search this Thread Display Modes
Old 10th January 2014, 16:27   #1  |  Link
dsn79
Registered User
 
Join Date: Dec 2013
Posts: 2
Using Avisynth with ffmpeg streaming, framecount problem.

Hi,
I´m stuck in a problem with a test doing multicast streaming from a Viewcast Osprey 700e HD using ffmpeg.
The thing is that I´ve to use avisynth(with graphedit) for ffmpeg recognize the card. The streaming has no ending time,
is a live channel for IPTV.
The script is working well, but the problem is the avisynth config, because I have to specify the countframe option,
i think this is for the duration of the clip, but I need an infinity streaming.

The is script is:

ffmpeg -i espnhd.avs -rtbufsize 100000k -r 30 -c:v mpeg2video -b:v 5120k -s 1280x720 -g 100 -q:v 2 -c:a ac3 -b:a 256k -f mpegts udp://239.192.42.61:1234

The espnhd.avs file is:

v=directshowsource("espnhdv.GRF", pixel_type="YUV", framecount=1000000, fps=30, audio=False, convertfps=false)
A=directshowsource("espnhda.GRF", fps=30, framecount=1000000, video=False, convertfps=false)
AudioDub(V, A)
loop()

When i run the application, work fine but the streaming ends when 1000000 frames it´s encoded...
If i dont specify framecount, ffmpeg doesn´t start with the following error, can´t determine the duration of the clip.

Is there any way to specify an inifinity duration on avisynth?

Best regards, Diego.
dsn79 is offline   Reply With Quote
Old 13th January 2014, 08:56   #2  |  Link
turbojet
Registered User
 
Join Date: May 2008
Posts: 1,840
Try adding Loop() at the end. It's not infinite but a long time.
__________________
PC: FX-8320 GTS250 HTPC: G1610 GTX650
PotPlayer/MPC-BE LAVFilters MadVR-Bicubic75AR/Lanczos4AR/Lanczos4AR LumaSharpen -Strength0.9-Pattern3-Clamp0.1-OffsetBias2.0
turbojet is offline   Reply With Quote
Old 13th January 2014, 10:34   #3  |  Link
Gavino
Avisynth language lover
 
Join Date: Dec 2007
Location: Spain
Posts: 3,431
Loop() by default will multiply the frame count by 10 million, which will cause the count to overflow on a 1 million frame source.

Apart from that, it will also start requesting frames from zero again at the start of each loop period, which may not work here.

Since the framecount is a 32-bit integer, there's no need to limit it to 1000000 in the call to DirectShowSource(). You can use 2000000000 (2 billion) which is equivalent to about 80 days.
__________________
GScript and GRunT - complex Avisynth scripting made easier
Gavino is offline   Reply With Quote
Old 27th January 2014, 19:49   #4  |  Link
dsn79
Registered User
 
Join Date: Dec 2013
Posts: 2
ffmpeg memory usage

Thanks for the quickly response.
I tried with a 18144000 framecount, works for 3 hours but then the ffmpeg show´s "There is not enough space"...

Another thing is the memory process grows up very fast.

When ffmpeg starts, the usage memory is 92.356k, but two hours later is 1,352,144k.

Any suggest will be appreciate.
Diego
dsn79 is offline   Reply With Quote
Reply

Tags
avisynth, ffmpeg, framecount, streaming

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 00:21.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.