I want to put a news marquee over an analog TV stream using c#, I can stream analog TV using DirectShow but I can't figure out how to mix it with rotating text, should I create a filter? or I have to use another technology than DirectShow?
News Marquee over analog TV stream - C#
1.3k Views Asked by Santiago At
2
There are 2 best solutions below
0
Dee Mon
On
Actually you don't have to write a filter to draw some text over your video. Just make a graph where uncompressed video goes through sample grabber (one of standard DirectShow filters), set up a callback for the sample grabber and you'll be able to modify the video data in your callback. Doing it in C# is very easy using DirectShow.NET but not optimal due to marshalling. You can first build such a graph in GraphEditPlus, then it will show you source code in C# or C++ of how to build this graph and use sample grabber.
Related Questions in C#
- Passing arguments to main in C using Eclipse
- kernel module does not print packet info
- error C2016 (C requires that a struct or union has at least one member) and structs typedefs
- Drawing with ncurses, sockets and fork
- How to catch delay-import dll errors (missing dll or symbol) in MinGW(-w64)?
- Configured TTL for A record(s) backing CNAME records
- Allocating memory for pointers inside structures in functions
- Finding articulation point of undirected graph by DFS
- C first fgets() is being skipped while the second runs
- C std library don't appear to be linked in object file
- gcc static library compilation
- How to do a case-insensitive string comparison?
- C programming: Create and write 2D array of files as function
- How to read a file then store to array and then print?
- Function timeouts in C and thread
Related Questions in DIRECTSHOW
- How to get Pixel Aspect Ratio(PAR) from WMV clip in DShow Graph?
- Extrenal webcam show black screen with WPFMediaKit
- Capture an image using DirectShow via webcam in vb.net
- VARIANT structure (COM) seems to have no member
- Play video frame by frame performance issues
- How can i use DirectShowLib to capture the elgato video stream window?
- Accessing raw wav data from a directshow filter graph
- I still can't figure out why capturing the video window from the elgato usb is not working?
- Directshow Push Source Filter, sync Audio and Video Streams
- How can I get and set the directshow preview resolution?
- How to declare same interface in separate library
- How can i change resolution in real time with the Elgato preview?
- How do I build a DirectShow filter with Visual C++ 5.0?
- DirectShow connect filters
- GSSF callback called thousands of times for audio
Related Questions in MARQUEE
- How to show a list of text as marquee one by one
- CSS3 Marquee using nth-child(1n+1)
- custom class marquee text restarts while changing another text view in a complex layout
- Html marquee change text
- TextView marquee not scrolling
- Marquee text over an image in html
- Android - Marquee not working in every page of a ViewPager
- Most efficient way to pause a HTML Marquee without a mouse
- Why my marquee textview in Android always marquee from begin when I refresh the view of other part?
- Adding marquee on a playing video in asp.net
- Scroll div's content horizontally endlessly
- Make horizontalscrollview auto scrolling
- Scrolling <marquee> and web form
- Change marquee text and speed using jQuery
- Android TextView SetText() stops marquee of another TextView - workaround?
Related Questions in TELEVISION
- Android no suitable constructor found for HeaderItem(int,String,<null>)
- What is the best way to make an Android TV menu?
- How to convert cable TV channel into Ip based stream
- Connect to WifiDirect on AndroidTV but keep using regular WIFI for internet
- How to create transition animation between BrowseFragment and headers?
- Scrollable TV Guide with HTML/XML/XSLT/AJAX
- Error inflating android.support.v17.leanback.widget.TitleView
- How to support OTA video in custom web app (for LG TV)?
- Open-source / free universal EPG / XMLTV data API or service, or how to make one?
- Scrolling UIScrollView on external screen attached to an iPad
- What data to send using IR to control AC or TV using C#
- TvOs : is there a way to know when tv is turned off / on?
- Microsoft.DirectX.DirectSound and TV Tuner
- Will the Vibrate Permission filter an app from Google TV in the Android Market?
- Setting brightness of tv through cec-client
Related Questions in ANALOG-DIGITAL-CONVERTER
- Generate square wave for analog input/output on software
- Frequency of the signals transmitted & modulation scheme (FSK, ASK)
- stm32f4discovery A/D set up
- Simple OCR of Analog Video (VGA) Signal
- How to convert human voice into digital format?
- Simultanously Reading Two Analog Inputs with Arduino
- What are some good implementation of efforts to digitise an analog dial?
- How to reverse audio wave using processing
- Computation during analogRead on Arduino
- Reading analog inputs fast in beaglebone black
- Verilog Peak detection
- News Marquee over analog TV stream - C#
- LM35 temp sesnor equation for arduino uno which connected to matlab GUI
- 'IOError: [Errno 5] Input/output error' while using SMBus for analog reading through RPi
- Can't send data to Xively through Arduino Wi-Fi Shield, sending just one stream
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
DirectShow is the simplest way of doing this but it does have a bit of a learning curve, particularly coming from C#. The Wikipedia page gives you a basic overview of DirectShow.
DirectShow tools are available in the latest Windows SDK. Using C++ for DirectShow programming is more straightforward but you can use DirectShow fairly easily via COM interop or DirectShow.net (which I haven't tried yet). If using COM interop the following article is helpful:
http://blogs.msdn.com/b/ericgu/archive/2004/09/20/232027.aspx
You may be able to use the VMR overlay filter if the animation performance is smooth enough. See the following articles
http://www.codeproject.com/KB/audio-video/VideoPicture.aspx
http://www.codeproject.com/KB/audio-video/Ticker.aspx
http://msdn.microsoft.com/en-us/library/dd407344(v=vs.85).aspx
Alternatively you will need to write your own filter that renders the text on each frame adjusting its position in synch with the time stamps of the video frames. If you only need to do this inside your own application then the following approach might be easiest
http://www.sichbo.ca/Free_Code/100_C_Sharp_directshow_filters
Microsoft officially recommend that DirectShow filters should be created in C++ for performance reasons but overlaying scrolling text should be OK in C# as the bottleneck will be the APIs used to overlay the text if you program carefully.