Re: [FFmpeg-user] I'm writing a tutorial involving ffmpeg - could you please fact-check?

2018-02-26 Thread Jim DeLaHunt

On 2018-02-26 22:53, Pičugins Arsenijs wrote:

Hi! I'm writing an article detailing streaming to Twitch from a web camera, 
using ffmpeg.
I tried to explain the ffmpeg command-line I'm using, however, as I don't know 
ffmpeg
that well, my understanding of the command-line itself is limited. Could you 
please
see if there's anything obviously (or non-obviously) wrong with the following 
text?


First, let's cover a simple streaming case - no sound involved, just video. We 
have a USB
camera (available as /dev/video0), and we have a Twitch RTMP URL, which we
should send our stream to. A basic ffmpeg command-line that does the job of is
as follows:

ffmpeg -f v4l2 -s "$INRES" -r "$FPS" -i /dev/video0 -vcodec h264_omx -g $GOP
-keyint_min $FPS -b:v $CBR -minrate "100k" -maxrate $CBR -pix_fmt yuv420p
-bufsize "500k" -preset "veryfast" -f flv
"rtmp://$SERVER.twitch.tv/app/$STREAM_KEY"

That's a lot of parameters for a single command! Let's go through it so that
you understand what's going on. First, here's the breakdown of all parts this
command-line consists of:

ffmpeg {global options} -f {input type} {input options} -i {input} {codec}
{codec options} -f {output type} {output}

We're only using one global option - "-hide-banner", which tells ffmpeg not to
print its version information on start. Our webcam is /dev/video0 - in your
case, it might end with another number (say, you're using a laptop with a
webcam). To capture video from the webcam, we're using the Video4Linux system
and the corresponding ffmpeg plugin called "v4l2", and we tell it the
resolution to use and FPS (frames per second) that we want. Twitch requires
that we compress our video as H.264 - this would usually be a CPU-intensive
task, but Raspberry Pi has hardware H264 encoding support. We can get that
support if we use the h264_omx ffmpeg plugin.

Even though compression means we don't send full frames all the time, we still
need to send a full frame once in a while - packets can get lost and glitches
can happen. A frame sent for the image synchronization purpose is called a
keyframe - the "-g" parameter tells how often keyframes will be made (say, $GOP
is double the $FPS, then a keyframe will be formed each 2 seconds), and the
"-keyint_min" parameter allows additional keyframes to appear if necessary
(say, the video changes rapidly) This explains the "-g $GOP -keyint_min $FPS"
part. Now, what about "-b:v $CBR -minrate "100k" -maxrate $CBR"? These are the
h264_omx codec parameters, and they restrict the bitrate of the resulting
stream - bitrate is, in our case, how much data we're sending per second.

... [a long not-ffmpeg-related explanation of what bitrates mean and why we need
a constant bitrate for Twitch]

After all the bitrate-related parameters, we have parameters defining the color
encoding scheme (Twitch requires the YUV420 scheme) and buffer size - the
buffer in question is the one ffmpeg uses to check whether bitrate is constant
enough; setting your "bufsize" to the same value as your bitrate is a good
starting point. The last parameter is the compression quality - as in, how much
time should be spent on compression. The "fast"-er the preset, the less time is
spent compressing and the more bandwidth will be taken by your video - you have
options like "veryslow", "slow", "medium", "fast" and "veryfast", and some more
in between.

I'm sorry if this request is taken as asking for too big of a favour (full 
disclosure: I'm
getting paid to write this). I just really, really would hate to explain things 
in a wrong
way and push it onto the readers, and I hope you can help make a ffmpeg 
streaming
tutorial that explains things well (which, in my experience, is a rare 
occurence).

Cheers!
Arsenijs
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

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


I have never used ffmpeg for that purpose, so I can't comment much about 
the technical correctness. However, I can give some comments about more 
general topics.


1. Have you used this command, and does it in fact work?  I assume that 
you have, but you didn't say so in your introduction.


2. You use environment variables like $INRES, $FPS, $CBR, but I don't 
see any text that explains they are variables, not literal parameters to 
the command. Nor do I see an explanation of what values they should be 
set to. Nor  do I see an explanation of why these values, but not 
others, are provided as environment variables instead of literally.  I 
imagine it's a good idea to make them variables, but it would help the 
article to explain why.


I hope this helps. Good luck with the article!

--
--Jim DeLaHunt, j...@jdlh.com http://blog.jdlh.com/ (http://jdlh.com/)
  multilingual websites consultant

  355-1027 Davie St, Vancouver BC V6E 4L2, Canada
 Canada mobile +1-604-376-8953


[FFmpeg-user] I'm writing a tutorial involving ffmpeg - could you please fact-check?

2018-02-26 Thread Pičugins Arsenijs
Hi! I'm writing an article detailing streaming to Twitch from a web camera, 
using ffmpeg.
I tried to explain the ffmpeg command-line I'm using, however, as I don't know 
ffmpeg
that well, my understanding of the command-line itself is limited. Could you 
please
see if there's anything obviously (or non-obviously) wrong with the following 
text?

> First, let's cover a simple streaming case - no sound involved, just video. 
> We have a USB
> camera (available as /dev/video0), and we have a Twitch RTMP URL, which we
> should send our stream to. A basic ffmpeg command-line that does the job of is
> as follows:
>
> ffmpeg -f v4l2 -s "$INRES" -r "$FPS" -i /dev/video0 -vcodec h264_omx -g $GOP
> -keyint_min $FPS -b:v $CBR -minrate "100k" -maxrate $CBR -pix_fmt yuv420p
> -bufsize "500k" -preset "veryfast" -f flv
> "rtmp://$SERVER.twitch.tv/app/$STREAM_KEY"
>
> That's a lot of parameters for a single command! Let's go through it so that
> you understand what's going on. First, here's the breakdown of all parts this
> command-line consists of:
>
> ffmpeg {global options} -f {input type} {input options} -i {input} {codec}
> {codec options} -f {output type} {output}
>
> We're only using one global option - "-hide-banner", which tells ffmpeg not to
> print its version information on start. Our webcam is /dev/video0 - in your
> case, it might end with another number (say, you're using a laptop with a
> webcam). To capture video from the webcam, we're using the Video4Linux system
> and the corresponding ffmpeg plugin called "v4l2", and we tell it the
> resolution to use and FPS (frames per second) that we want. Twitch requires
> that we compress our video as H.264 - this would usually be a CPU-intensive
> task, but Raspberry Pi has hardware H264 encoding support. We can get that
> support if we use the h264_omx ffmpeg plugin.
>
> Even though compression means we don't send full frames all the time, we still
> need to send a full frame once in a while - packets can get lost and glitches
> can happen. A frame sent for the image synchronization purpose is called a
> keyframe - the "-g" parameter tells how often keyframes will be made (say, 
> $GOP
> is double the $FPS, then a keyframe will be formed each 2 seconds), and the
> "-keyint_min" parameter allows additional keyframes to appear if necessary
> (say, the video changes rapidly) This explains the "-g $GOP -keyint_min $FPS"
> part. Now, what about "-b:v $CBR -minrate "100k" -maxrate $CBR"? These are the
> h264_omx codec parameters, and they restrict the bitrate of the resulting
> stream - bitrate is, in our case, how much data we're sending per second. 
>
> ... [a long not-ffmpeg-related explanation of what bitrates mean and why we 
> need
> a constant bitrate for Twitch]
>
> After all the bitrate-related parameters, we have parameters defining the 
> color
> encoding scheme (Twitch requires the YUV420 scheme) and buffer size - the
> buffer in question is the one ffmpeg uses to check whether bitrate is constant
> enough; setting your "bufsize" to the same value as your bitrate is a good
> starting point. The last parameter is the compression quality - as in, how 
> much
> time should be spent on compression. The "fast"-er the preset, the less time 
> is
> spent compressing and the more bandwidth will be taken by your video - you 
> have
> options like "veryslow", "slow", "medium", "fast" and "veryfast", and some 
> more
> in between.

I'm sorry if this request is taken as asking for too big of a favour (full 
disclosure: I'm
getting paid to write this). I just really, really would hate to explain things 
in a wrong
way and push it onto the readers, and I hope you can help make a ffmpeg 
streaming
tutorial that explains things well (which, in my experience, is a rare 
occurence).

Cheers!
Arsenijs
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

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

Re: [FFmpeg-user] Re- time stamping packets (pts & dts )

2018-02-26 Thread Chetan Latte
Thank you for responding, George. Workflow if complex and I have multiple
use cases, if anyone is available for consulting/dev for ffmpeg. I can
share the complete details.

On Thu, 22 Feb 2018 at 11:28 PM, George Andguladze 
wrote:

> > Anyone have the background on this for consulting work ?
>
> > -Chetan Latte
>
> > @Cell: +91 9008229636
> > @LinkedIn page: https://www.linkedin.com/in/chetanlatte
>
> > On Sat, Feb 3, 2018 at 9:08 AM, Chetan Latte 
> wrote:
>
> > Hi there !
> >
> > I want to re-time stamp (pts & dts) live (24x7) stream (from TV
> > providers), any options to do this using ffmpeg?
> > --
>
> Had a stream coming from Hikvision NVR a while back that had timestamps
> completely broken but followed the advice of @Carl Eugen Hoyos and changed
> the container into something else (avi for example) and then piped the
> output of that to another ffmpeg instance for HLS streaming. (using nginx
> for HTTP transport of course). You might want to do the same if you are
> having trouble displaying your PTS stream.
>
> George A.
>
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".

-- 

-Chetan Latte

@Cell: +91 9008229636
@LinkedIn page: https://www.linkedin.com/in/chetanlatte
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

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

Re: [FFmpeg-user] Howto remove ffmpeg custom build

2018-02-26 Thread Carl Eugen Hoyos
2018-02-26 13:30 GMT+01:00 ffm...@bechhold.de :

> I have downloaded and build ffmpeg version N-90022-g50945482a7
> from git for testing purposes.
>
> Now I would like to remove this version and use the one provided
> by my distro again.

You can try "rm /usr/local/bin/ffmpeg".

Note that the distro version of FFmpeg is known to have more
bugs and less features, every-day FFmpeg gets the same
quality measures as releases.

> How can I completely remove the custom build git version?

I recommend to never install your custom build, by default a
binary is linked that you can either run from the build
directory or from your favorite location (from where you
can easily remove it), I never install.
"make uninstall" is supposed to remove the custom build
binaries from the installation directory, note that I suspect
the option is not well tested.

Carl Eugen
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

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

Re: [FFmpeg-user] All the video captures are made at a resolution of 176x144

2018-02-26 Thread Lindsey Williams
"-r 1 " is just going to use the input file sampling rate, no?  I don't
think this is a sampling rate problem unless there's signs of "rolling
shutters" or total disconnect in the expected output playback.

"You need to check with V4L utilities or ffmpeg, which formats /
resolutions your v4l2 device provides. I would guess that docker gives you
only an abstraction (it's a kind of virtualization, right?)."

Agree with that.  Cameras are getting smaller and smaller and in order
to get away with that software is used on the the intake signal and
unwrapped/decompressed into larger resolutions as it goes to our screens.
The reason I suggested scaling is because you didn't complain about the
image not making sense... which means ffmpeg was able to decode the stream
and encode it into some format ( maybe not the ideal one. )  My guess is
that the pre-packaged web cam software driver might perform a software
unwrapping of the data, which allows it to have a higher resolution than
perhaps something you can grab from ffmpeg.  That proprietary software
might also preform a scaling operation using a nice/custom filter to up-rez
it so that they can claim it has X resolution even though the raw data
might not actually be that.  I have not heard about this problem with web
cams but it is a conversation I've witnessed when people get data from
cameras mounted on drones.

On Mon, Feb 26, 2018 at 9:05 AM, Moritz Barsnick  wrote:

> On Fri, Feb 23, 2018 at 00:34:26 -0500, DiegoUG wrote:
> > I'm doing a capture of an image from the docker using my web cam, but the
> > docker is doing it at a resolution of 176x144 and outside of the docker
> in
> > my localhost it takes it to 640x360, in both it's the same installation,
> I
> > do not know it's happening:
>
> You need to check with V4L utilities or ffmpeg, which formats /
> resolutions your v4l2 device provides. I would guess that docker gives
> you only an abstraction (it's a kind of virtualization, right?).
> Perhaps you only get USB 1.1, and that doesn't allow for your device's
> larger resolutions (despite "-r 1"). Hmm, just guessing.
>
> Moritz
> ___
> ffmpeg-user mailing list
> ffmpeg-user@ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".
>



-- 
There be monsters out there... consider using PGP/GPG encryption for
confidential communications.  My public key can be found here

.
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

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

Re: [FFmpeg-user] All the video captures are made at a resolution of 176x144

2018-02-26 Thread Moritz Barsnick
On Fri, Feb 23, 2018 at 00:34:26 -0500, DiegoUG wrote:
> I'm doing a capture of an image from the docker using my web cam, but the
> docker is doing it at a resolution of 176x144 and outside of the docker in
> my localhost it takes it to 640x360, in both it's the same installation, I
> do not know it's happening:

You need to check with V4L utilities or ffmpeg, which formats /
resolutions your v4l2 device provides. I would guess that docker gives
you only an abstraction (it's a kind of virtualization, right?).
Perhaps you only get USB 1.1, and that doesn't allow for your device's
larger resolutions (despite "-r 1"). Hmm, just guessing.

Moritz
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

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

Re: [FFmpeg-user] All the video captures are made at a resolution of 176x144

2018-02-26 Thread Lindsey Williams
I can't say for certain as its been some time since I used ffmpeg, but
there are only a fixed number of resolutions to pass to ffmpeg using the -s
size parameter and the behavior isn't what you're probably looking for.
What you probably need to look at is the scaling filter:

https://ffmpeg.org/ffmpeg-filters.html#scale

https://trac.ffmpeg.org/wiki/Scaling


On Mon, Feb 26, 2018 at 8:06 AM DiegoUG  wrote:

> Hello, can someone guide me a little towards the solution?
>
> I really do not understand what it is, and with another camera the same
> thing is happening to me.
>
> 2018-02-23 0:34 GMT-05:00 DiegoUG :
>
> > Hello,
> >
> > I'm doing a capture of an image from the docker using my web cam, but the
> > docker is doing it at a resolution of 176x144 and outside of the docker
> in
> > my localhost it takes it to 640x360, in both it's the same installation,
> I
> > do not know it's happening:
> >
> > Docker 
> > ---
> > # ffmpeg -r 1 -f v4l2 -s 720x480 -i /dev/video0 -vframes 1 menu%d.jpg
> >
> > ffmpeg version 3.4.2 Copyright (c) 2000-2018 the FFmpeg developers
> >   built with gcc 7 (Debian 7.3.0-3)
> >   configuration: --disable-debug --disable-doc --disable-ffplay
> > --enable-shared --enable-avresample --enable-libopencore-amrnb
> > --enable-libopencore-amrwb --enable-gpl --enable-libass
> > --enable-libfreetype --enable-libvidstab --enable-libmp3lame
> > --enable-libopenjpeg --enable-libopus --enable-libtheora
> --enable-libvorbis
> > --enable-libvpx --enable-libx265 --enable-libxvid --enable-libx264
> > --enable-nonfree --enable-openssl --enable-libfdk_aac --enable-libkvazaar
> > --enable-postproc --enable-small --enable-version3
> > --extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib
> > --extra-libs=-ldl --prefix=/opt/ffmpeg
> >   libavutil  55. 78.100 / 55. 78.100
> >   libavcodec 57.107.100 / 57.107.100
> >   libavformat57. 83.100 / 57. 83.100
> >   libavdevice57. 10.100 / 57. 10.100
> >   libavfilter 6.107.100 /  6.107.100
> >   libavresample   3.  7.  0 /  3.  7.  0
> >   libswscale  4.  8.100 /  4.  8.100
> >   libswresample   2.  9.100 /  2.  9.100
> >   libpostproc54.  7.100 / 54.  7.100
> > [video4linux2,v4l2 @ 0x55cbd71f70a0] The V4L2 driver changed the video
> > from 720x480 to 176x144
> > [video4linux2,v4l2 @ 0x55cbd71f70a0] The driver changed the time per
> frame
> > from 1/1 to 1/5
> > Input #0, video4linux2,v4l2, from '/dev/video0':
> >   Duration: N/A, start: 59614.860847, bitrate: 2027 kb/s
> > Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 176x144,
> > 2027 kb/s, 5 fps, 5 tbr, 1000k tbn, 1000k tbc
> > Stream mapping:
> >   Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))
> > Press [q] to stop, [?] for help
> > [swscaler @ 0x55cbd7209280] deprecated pixel format used, make sure you
> > did set range correctly
> > Output #0, image2, to 'menu%d.jpg':
> >   Metadata:
> > encoder : Lavf57.83.100
> > Stream #0:0: Video: mjpeg, yuvj422p(pc), 176x144, q=2-31, 200 kb/s, 1
> > fps, 1 tbn, 1 tbc
> > Metadata:
> >   encoder : Lavc57.107.100 mjpeg
> > Side data:
> >   cpb: bitrate max/min/avg: 0/0/20 buffer size: 0 vbv_delay: -1
> > frame=1 fps=0.0 q=2.7 Lsize=N/A time=00:00:01.00 bitrate=N/A speed=
> > 424x
> > video:3kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
> > muxing overhead: unknown
> > 
> > -
> >
> >
> > local --
> > 
> > # ffmpeg -r 1 -f v4l2 -s 720x480 -i /dev/video0 -vframes 1 menu%d.jpg
> >
> > ffmpeg version 3.4.2 Copyright (c) 2000-2018 the FFmpeg developers
> >   built with gcc 7.3.0 (GCC)
> >   configuration: --prefix=/usr --disable-debug --disable-static
> > --disable-stripping --enable-avisynth --enable-avresample
> > --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl
> > --enable-ladspa --enable-libass --enable-libbluray --enable-libfreetype
> > --enable-libfribidi --enable-libgsm --enable-libiec61883
> > --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb
> > --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus
> > --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh
> > --enable-libtheora --enable-libv4l2 --enable-libvidstab
> --enable-libvorbis
> > --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265
> > --enable-libxcb --enable-libxml2 --enable-libxvid --enable-shared
> > --enable-version3 --enable-omx
> >   libavutil  55. 78.100 / 55. 78.100
> >   libavcodec 57.107.100 / 57.107.100
> >   libavformat57. 83.100 / 57. 83.100
> >   libavdevice57. 10.100 / 57. 10.100
> >   libavfilter 6.107.100 /  6.107.100
> >   libavresample   3.  7.  0 /  

Re: [FFmpeg-user] All the video captures are made at a resolution of 176x144

2018-02-26 Thread DiegoUG
Hello, can someone guide me a little towards the solution?

I really do not understand what it is, and with another camera the same
thing is happening to me.

2018-02-23 0:34 GMT-05:00 DiegoUG :

> Hello,
>
> I'm doing a capture of an image from the docker using my web cam, but the
> docker is doing it at a resolution of 176x144 and outside of the docker in
> my localhost it takes it to 640x360, in both it's the same installation, I
> do not know it's happening:
>
> Docker 
> ---
> # ffmpeg -r 1 -f v4l2 -s 720x480 -i /dev/video0 -vframes 1 menu%d.jpg
>
> ffmpeg version 3.4.2 Copyright (c) 2000-2018 the FFmpeg developers
>   built with gcc 7 (Debian 7.3.0-3)
>   configuration: --disable-debug --disable-doc --disable-ffplay
> --enable-shared --enable-avresample --enable-libopencore-amrnb
> --enable-libopencore-amrwb --enable-gpl --enable-libass
> --enable-libfreetype --enable-libvidstab --enable-libmp3lame
> --enable-libopenjpeg --enable-libopus --enable-libtheora --enable-libvorbis
> --enable-libvpx --enable-libx265 --enable-libxvid --enable-libx264
> --enable-nonfree --enable-openssl --enable-libfdk_aac --enable-libkvazaar
> --enable-postproc --enable-small --enable-version3
> --extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib
> --extra-libs=-ldl --prefix=/opt/ffmpeg
>   libavutil  55. 78.100 / 55. 78.100
>   libavcodec 57.107.100 / 57.107.100
>   libavformat57. 83.100 / 57. 83.100
>   libavdevice57. 10.100 / 57. 10.100
>   libavfilter 6.107.100 /  6.107.100
>   libavresample   3.  7.  0 /  3.  7.  0
>   libswscale  4.  8.100 /  4.  8.100
>   libswresample   2.  9.100 /  2.  9.100
>   libpostproc54.  7.100 / 54.  7.100
> [video4linux2,v4l2 @ 0x55cbd71f70a0] The V4L2 driver changed the video
> from 720x480 to 176x144
> [video4linux2,v4l2 @ 0x55cbd71f70a0] The driver changed the time per frame
> from 1/1 to 1/5
> Input #0, video4linux2,v4l2, from '/dev/video0':
>   Duration: N/A, start: 59614.860847, bitrate: 2027 kb/s
> Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 176x144,
> 2027 kb/s, 5 fps, 5 tbr, 1000k tbn, 1000k tbc
> Stream mapping:
>   Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))
> Press [q] to stop, [?] for help
> [swscaler @ 0x55cbd7209280] deprecated pixel format used, make sure you
> did set range correctly
> Output #0, image2, to 'menu%d.jpg':
>   Metadata:
> encoder : Lavf57.83.100
> Stream #0:0: Video: mjpeg, yuvj422p(pc), 176x144, q=2-31, 200 kb/s, 1
> fps, 1 tbn, 1 tbc
> Metadata:
>   encoder : Lavc57.107.100 mjpeg
> Side data:
>   cpb: bitrate max/min/avg: 0/0/20 buffer size: 0 vbv_delay: -1
> frame=1 fps=0.0 q=2.7 Lsize=N/A time=00:00:01.00 bitrate=N/A speed=
> 424x
> video:3kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
> muxing overhead: unknown
> 
> -
>
>
> local --
> 
> # ffmpeg -r 1 -f v4l2 -s 720x480 -i /dev/video0 -vframes 1 menu%d.jpg
>
> ffmpeg version 3.4.2 Copyright (c) 2000-2018 the FFmpeg developers
>   built with gcc 7.3.0 (GCC)
>   configuration: --prefix=/usr --disable-debug --disable-static
> --disable-stripping --enable-avisynth --enable-avresample
> --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl
> --enable-ladspa --enable-libass --enable-libbluray --enable-libfreetype
> --enable-libfribidi --enable-libgsm --enable-libiec61883
> --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb
> --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopus
> --enable-libpulse --enable-libsoxr --enable-libspeex --enable-libssh
> --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis
> --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265
> --enable-libxcb --enable-libxml2 --enable-libxvid --enable-shared
> --enable-version3 --enable-omx
>   libavutil  55. 78.100 / 55. 78.100
>   libavcodec 57.107.100 / 57.107.100
>   libavformat57. 83.100 / 57. 83.100
>   libavdevice57. 10.100 / 57. 10.100
>   libavfilter 6.107.100 /  6.107.100
>   libavresample   3.  7.  0 /  3.  7.  0
>   libswscale  4.  8.100 /  4.  8.100
>   libswresample   2.  9.100 /  2.  9.100
>   libpostproc54.  7.100 / 54.  7.100
> [video4linux2,v4l2 @ 0x55c87b781a40] The V4L2 driver changed the video
> from 720x480 to 640x480
> [video4linux2,v4l2 @ 0x55c87b781a40] The driver changed the time per frame
> from 1/1 to 1/15
> Input #0, video4linux2,v4l2, from '/dev/video0':
>   Duration: N/A, start: 59593.137905, bitrate: 73728 kb/s
> Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480,
> 73728 kb/s, 15 fps, 15 tbr, 1000k tbn, 1000k tbc
> Stream mapping:
>   Stream #0:0 -> #0:0 (rawvideo (native) -> 

Re: [FFmpeg-user] Howto remove ffmpeg custom build

2018-02-26 Thread Reindl Harald



Am 26.02.2018 um 13:30 schrieb ffm...@bechhold.de:

I have downloaded and build ffmpeg version N-90022-g50945482a7  from git
for testing purposes.

Now I would like to remove this version and use the one provided by my
distro again.

How can I completely remove the custom build git version?


normally "make uninstall" should work, in doubt repeat the same build 
with exact same params - if this not works you hopefully where smart 
enough to use a prefix out of /usr instead let "make install" spit 
around your system


why not make a static build at all for "testing purposes" which leads in 
a single binary and skip "make install" completly?


in short: guys learn how to build proper packages
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

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

[FFmpeg-user] Howto remove ffmpeg custom build

2018-02-26 Thread ffm...@bechhold.de
Hi,

I have downloaded and build ffmpeg version N-90022-g50945482a7  from git
for testing purposes.

Now I would like to remove this version and use the one provided by my
distro again.

How can I completely remove the custom build git version?

Thank you.


___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

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

Re: [FFmpeg-user] h264 and opus in mp4 container

2018-02-26 Thread Moritz Barsnick
On Mon, Feb 26, 2018 at 10:06:36 +0530, Vittalprasad wrote:
> external player like mplayer, vlc and kmp are failing to decode voice . i.e
> while playing mp4 file there is only video no voice.

Are you sure that your external players support this? This feature was
only recently added to the standard, and its support is only
experimental in ffmpeg. (That said, my mpv plays it fine.)

> Procedure followed using ffmpeg:
> 1. From sample mp4 file, i have separated audio(aac codec) and video(h264)
> in to different files .
> 2. aac trans-coded to opus
> 3. tried to merge video and audio(opus) in to single mp4

You can do all that in one step, if your ffmpeg supports the opus or
the libopus encoder(s).

> 1. whether ffmpeg support above codecs in single mp4 file or issue with
> external player .

ffmpeg does have support. It will give you an error that it is
experimental if you don't add "-strict experimental" as an output
option.

> If anyone has  mp4 file with h264 and opus codecs please provide me along
> with procedure to convert.

https://www.dropbox.com/s/422wukn3bt2x220/mp4_opus.mp4?dl=0

Assuming you have H.264 in your input file:
ffmpeg -i inputfile -c:v copy -c:a libopus -strict experimental outputfile.mp4

Moritz
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

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

Re: [FFmpeg-user] h264 and opus in mp4 container

2018-02-26 Thread Carl Eugen Hoyos
2018-02-26 5:36 GMT+01:00 Vittalprasad :

> From below link i saw that mp4 container can have h264 as video codec and
> opus as audio codec. so i tried  both codecs in to mp4 using ffmpeg,

Command line and complete, uncut console output missing.

> but external player like mplayer, vlc and kmp are failing to decode voice

Why do you believe this is an issue with FFmpeg?

Carl Eugen
___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

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

Re: [FFmpeg-user] h264 and opus in mp4 container

2018-02-26 Thread Adi Marvillo
Hi Vittal, what you want do do is called multiplexing after you have 
demultiplexed/seperated your video- and audiotrack from a stream.
https://superuser.com/questions/429643/how-can-i-multiplex-a-video-and-audio-stream

ffmpeg can do demultiplexing-> conversion of audio track-> multiplexing A+V in 
one step with

ffmpeg -i INPUTFILE.mp4 -map 0:v -c:v libx264 -map 0:a -c:a libopus 
OUTPUTFILE.mp4

INPUTFILE means your original input.mp4 (sample.mp4). Be aware that you're 
loosing quality when converting your audio track from one format (aac) into the 
other lossy format (opus) if you're not planning to do something special 
with the opus-track, just leave it as it is with copy -map 0:a -c:a copy

regards adi



Am 2018-02-26 um 05:36 schrieb Vittalprasad:
>  Hi All,
> From below link i saw that mp4 container can have h264 as video codec and
> opus as audio codec. so i tried  both codecs in to mp4 using ffmpeg, but
> external player like mplayer, vlc and kmp are failing to decode voice . i.e
> while playing mp4 file there is only video no voice.
> https://en.wikipedia.org/wiki/Comparison_of_video_container_formats
>
> Procedure followed using ffmpeg:
> 1. From sample mp4 file, i have separated audio(aac codec) and video(h264)
> in to different files .
> 2. aac trans-coded to opus
> 3. tried to merge video and audio(opus) in to single mp4
>
>
> please let me know
> 1. whether ffmpeg support above codecs in single mp4 file or issue with
> external player .
>
> If anyone has  mp4 file with h264 and opus codecs please provide me along
> with procedure to convert.
>
>

___
ffmpeg-user mailing list
ffmpeg-user@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-user

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