Difference between revisions of "VLC HowTo/Add a logo"
m (→Dynamically change logo using RC, then send output to stream and local debugging display: Change wikilink: [[Console|RC]] → [[RC]], target page anchor for Codec#Video) |
|||
(3 intermediate revisions by 2 users not shown) | |||
Line 5: | Line 5: | ||
=== Local === | === Local === | ||
− | {{%}} vlc --sub- | + | {{%}} vlc --sub-source logo --logo-file ''logo.png'' ''video.avi'' |
=== Stream === | === Stream === | ||
{{%}} vlc --logo-file ''logo.png'' ''video.avi'' --sout "#transcode{vcodec=...,vb=...,sfilter=logo}:std{...}" | {{%}} vlc --logo-file ''logo.png'' ''video.avi'' --sout "#transcode{vcodec=...,vb=...,sfilter=logo}:std{...}" | ||
− | Make sure you do not specify --sub- | + | Make sure you do not specify --sub-source logo, and that you specify a vcodec= value in the [[transcode]] part. |
=== Save the new video locally === | === Save the new video locally === | ||
Line 16: | Line 16: | ||
=== Dynamically change logo using [[RC]], then send output to stream and local debugging display === | === Dynamically change logo using [[RC]], then send output to stream and local debugging display === | ||
+ | |||
+ | In ancient VLC versions, you could change the the logo dynamically (though it would occasionally fail silently or crash). | ||
{{%}} vlc -I rc --logo-file nonexistent_dummy.png --sout "#transcode{vcodec=...,vb=...,sfilter=logo}:duplicate{dst=display,dst=std{...}}" | {{%}} vlc -I rc --logo-file nonexistent_dummy.png --sout "#transcode{vcodec=...,vb=...,sfilter=logo}:duplicate{dst=display,dst=std{...}}" | ||
Line 21: | Line 23: | ||
# Once the program has started | # Once the program has started | ||
add ''video.avi'' | add ''video.avi'' | ||
+ | # If using VLC 0.9.x or 1.x.x: | ||
+ | @logo logo-file ''logo.png'' | ||
# If using VLC 0.8.6 or older: | # If using VLC 0.8.6 or older: | ||
logo-file ''logo.png'' | logo-file ''logo.png'' | ||
− | |||
− | |||
− | This requires a <code>--logo-file</code>, but for some reason it won't work if you specify "<code>--sub- | + | This requires a <code>--logo-file</code>, but for some reason it won't work if you specify "<code>--sub-source logo</code>". Nor does it apparently work if the <code>transcode</code> doesn't specify <code>[[Codec#Video | vcodec=]]</code>. |
A non-existent logo-file currently removes any logos from the video, and does not result in an error. Since you must specify one on the command-line, "<code>nonexistent_dummy.png</code>" was used. | A non-existent logo-file currently removes any logos from the video, and does not result in an error. Since you must specify one on the command-line, "<code>nonexistent_dummy.png</code>" was used. | ||
Line 34: | Line 36: | ||
=== My text doesn't look right! It's sort of pixellated or has artifacts. === | === My text doesn't look right! It's sort of pixellated or has artifacts. === | ||
− | Sounds like a stretching or [[deinterlacing]] problem. One possible solution is to set your "<code>--aspect-ratio</code>" to the right setting. For instance, I got this when I ran VLC with "<code>-vvv</code>" (for verbose verbose verbose output): | + | Sounds like a stretching or [[deinterlacing]] problem. One possible solution is to set your "<code>--aspect-ratio</code>" to the right setting. For instance, I got this when I ran VLC with "<code>-vvv</code>" (for verbose verbose verbose output—''note: only verbose verbose exists anymore''): |
[00000372] main video output debug: picture in 704x576 (0,0,704x576), chroma I420, ar 4:3, sar 12:11 | [00000372] main video output debug: picture in 704x576 (0,0,704x576), chroma I420, ar 4:3, sar 12:11 |
Latest revision as of 17:02, 25 August 2020
This page describes how to add a logo on your video using the logo filter. | Other "how to" pages |
Contents
Idea
This How To just explains how to use the logo filter in order to add a logo on your videos, like a TV.
Local
% vlc --sub-source logo --logo-file logo.png video.avi
Stream
% vlc --logo-file logo.png video.avi --sout "#transcode{vcodec=...,vb=...,sfilter=logo}:std{...}"
Make sure you do not specify --sub-source logo, and that you specify a vcodec= value in the transcode part.
Save the new video locally
% vlc --logo-file logo.png video.avi --sout "#transcode{vcodec=...,vb=...,sfilter=logo}:std{access=file,dst=new_video.avi }
Dynamically change logo using RC, then send output to stream and local debugging display
In ancient VLC versions, you could change the the logo dynamically (though it would occasionally fail silently or crash).
% vlc -I rc --logo-file nonexistent_dummy.png --sout "#transcode{vcodec=...,vb=...,sfilter=logo}:duplicate{dst=display,dst=std{...}}" # Once the program has started add video.avi # If using VLC 0.9.x or 1.x.x: @logo logo-file logo.png # If using VLC 0.8.6 or older: logo-file logo.png
This requires a --logo-file
, but for some reason it won't work if you specify "--sub-source logo
". Nor does it apparently work if the transcode
doesn't specify vcodec=
.
A non-existent logo-file currently removes any logos from the video, and does not result in an error. Since you must specify one on the command-line, "nonexistent_dummy.png
" was used.
Troubleshooting
My text doesn't look right! It's sort of pixellated or has artifacts.
Sounds like a stretching or deinterlacing problem. One possible solution is to set your "--aspect-ratio
" to the right setting. For instance, I got this when I ran VLC with "-vvv
" (for verbose verbose verbose output—note: only verbose verbose exists anymore):
[00000372] main video output debug: picture in 704x576 (0,0,704x576), chroma I420, ar 4:3, sar 12:11 [00000372] main video output debug: picture user 704x576 (0,0,704x576), chroma I420, ar 4:3, sar 12:11 [00000372] main video output debug: picture out 768x576 (0,0,768x576), chroma RV32, ar 4:3, sar 1:1
Here, the input was 704x576 resolution and VLC outputted it to 768x576. My text was added before this stretching occurred, and so the text looked awful. Forcing it back to the normal resolution using "--aspect-ratio 11:9
" worked. (Because 704/576 = 11:9.)
See also Documentation:Modules/logo.
Note also that setting the logo on the command line appears to be a "global" option and not available as stream specific.