Re: [FFmpeg-user] Could not write header for output file #0 (incorrect codec parameters ?)
On 20/07/15 16:02, Carl Eugen Hoyos wrote: MrNice wxcvbn2006 at iol.ie writes: [video4linux2,v4l2 at 0x1d33fa0] Thread message queue blocking; consider raising the thread_queue_size option (current value: 8) Thread message queue blocking; What does this warning mean? How to remove it? Are you sure that you read the message? The objective is to get lossless audio and video Just to make sure: Do you mean video and lossless audio? from what the Dazzle DVC100 provide. AFAIK, yuyv422 is better than yuv420p. I tried to use yuyv422 but I have the error: Incompatible pixel format 'yuyv422' for codec 'mpeg4', auto-selecting format 'yuv420p' What is the codec I could use the get 422? -vcodec mpeg2video supports 4:2:2 subsampling. Is my ffmpeg command good to get the best quality? No, it is missing -qscale 2 -mbd 2 (if you don't want to use libx264). Carl Eugen Thread message queue blocking; What does this warning mean? With some trails, I found the limit at 20. On site forums, they set at 512 or 1024. So I try at 512 but I don't know the up limit. What do you think? (if you don't want to use libx264). I installed libx264. So here my new command, unfortunately with errors. ** ./ffmpeg -debug 1 -f pulse -ar 44100 -ac 2 -channel_layout stereo -thread_queue_size 512 -i alsa_input.pci-_00_14.2.analog-stereo -f v4l2 -channel 1 -pix_fmt yuyv422 -thread_queue_size 512 -i /dev/video0 -c:v libx264 -pix_fmt yuv422p -c:a pcm_s16le /Store3/Test/t_`date +%Y%m%d_%H%M`.mkv ffmpeg version N-73832-g736a386 Copyright (c) 2000-2015 the FFmpeg developers built with gcc 5.1.1 (GCC) 20150618 (Red Hat 5.1.1-4) configuration: --enable-libpulse --enable-gpl --enable-libx264 libavutil 54. 28.100 / 54. 28.100 libavcodec 56. 49.101 / 56. 49.101 libavformat56. 40.101 / 56. 40.101 libavdevice56. 4.100 / 56. 4.100 libavfilter 5. 25.100 / 5. 25.100 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc53. 3.100 / 53. 3.100 matched as AVOption 'debug' with argument '1'. Reading option '-f' ... matched as option 'f' (force format) with argument 'pulse'. Reading option '-ar' ... matched as option 'ar' (set audio sampling rate (in Hz)) with argument '44100'. Reading option '-ac' ... matched as option 'ac' (set number of audio channels) with argument '2'. Reading option '-channel_layout' ... matched as option 'channel_layout' (set channel layout) with argument 'stereo'. Reading option '-thread_queue_size' ... matched as option 'thread_queue_size' (set the maximum number of queued packets from the demuxer) with argument '512'. Reading option '-i' ... matched as input file with argument 'alsa_input.pci-_00_14.2.analog-stereo'. Reading option '-f' ... matched as option 'f' (force format) with argument 'v4l2'. Reading option '-channel' ... matched as AVOption 'channel' with argument '1'. Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel format) with argument 'yuyv422'. Reading option '-thread_queue_size' ... matched as option 'thread_queue_size' (set the maximum number of queued packets from the demuxer) with argument '512'. Reading option '-i' ... matched as input file with argument '/dev/video0'. Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'libx264'. Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel format) with argument 'yuv422p'. Reading option '-c:a' ... matched as option 'c' (codec name) with argument 'pcm_s16le'. Reading option '/Store3/Test/t_20150724_0849.mkv' ... matched as output file. Finished splitting the commandline. Parsing a group of options: global . Successfully parsed a group of options. Parsing a group of options: input file alsa_input.pci-_00_14.2.analog-stereo. Applying option f (force format) with argument pulse. Applying option ar (set audio sampling rate (in Hz)) with argument 44100. Applying option ac (set number of audio channels) with argument 2. Applying option channel_layout (set channel layout) with argument stereo. Applying option thread_queue_size (set the maximum number of queued packets from the demuxer) with argument 512. Successfully parsed a group of options. Opening an input file: alsa_input.pci-_00_14.2.analog-stereo. [pulse @ 0x2db1200] All info found Input #0, pulse, from 'alsa_input.pci-_00_14.2.analog-stereo': Duration: N/A, start: 1437724175.042321, bitrate: 1411 kb/s Stream #0:0, 1, 1/100: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s Successfully opened the file. Parsing a group of options: input file /dev/video0. Applying option f (force format) with argument v4l2. Applying option pix_fmt (set pixel format) with argument yuyv422. Applying option thread_queue_size (set the maximum number of queued packets from the demuxer) with argument 512. Successfully parsed a group of options. Opening an input file:
Re: [FFmpeg-user] Problem with FFMPEG Live Stream Pushing
Thank you. I updated my FFMPEG. Now it is: ffmpeg version N-73929-ga906e86 Copyright (c) 2000-2015 the FFmpeg developers built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04) configuration: --prefix=/home/shubhmoy/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/shubhmoy/ffmpeg_build/include --extra-ldflags=-L/home/shubhmoy/ffmpeg_build/lib --bindir=/home/shubhmoy/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree libavutil 54. 28.100 / 54. 28.100 libavcodec 56. 50.101 / 56. 50.101 libavformat56. 40.101 / 56. 40.101 libavdevice56. 4.100 / 56. 4.100 libavfilter 5. 27.100 / 5. 27.100 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc53. 3.100 / 53. 3.100 Hyper fast Audio and Video encoder I am trying two FFMPEG commands: ffmpeg -re -i /home/user/bunny.mp4 -vcodec libx264 -vb 40 -g 60 -acodec libfdk_aac -ab 10 -ar 48000 -ac 2 -f flv rtmp://localhost:1935/live/stream_500k ffmpeg -re -i /home/user/bunny.mp4 -vcodec libx264 -vb 40 -g 60 -acodec libfdk_aac -ab 10 -ar 48000 -ac 2 -vbsf h264_mp4toannexb -f flv rtmp://localhost:1935/live/stream_500k The first one works just fine. But in the second one, I am getting same errors like before. The only thing which is extra in Second command is: -vbsf h264_mp4toannexb. I think there I am making some mistake. The output of second command is huge. So, I am pasting it on Pastebin (http://pastebin.com/VwWT3Ue6) Thanks. On Thu, Jul 23, 2015 at 10:12:24AM +0300, Maxim Kozlov wrote: And if you want to stream file use -re option before input. ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
[FFmpeg-user] FFMPEG build error due to MFX
Hi all, Having a problem building FFmpeg with QSV to run on Centos. tried building mfx first, it demanded vaapi, which in turn needed dxorg, and another 6-8 libs, got most through yum others built locally. Eventually mfx configured and built without any errors. FFmpeg v.2.7.2 with simple configure: `PKG_CONFIG_PATH=/encoder/lib/pkgconfig LDFLAGS=-L/encoder/lib CFLAGS=-I/encoder/include/ ./configure --prefix=/encoder --enable-libmfx` `make` ... CC libavcodec/qsv.o In file included from /encoder/include/mfx/mfxsession.h:32, from /encoder/include/mfx/mfxvideo.h:32, from libavcodec/qsv.c:21: /encoder/include/mfx/mfxcommon.h:81: warning: declaration does not declare anything /encoder/include/mfx/mfxcommon.h:101: warning: declaration does not declare anything /encoder/include/mfx/mfxcommon.h:103: warning: declaration does not declare anything /encoder/include/mfx/mfxcommon.h:127: warning: declaration does not declare anything /encoder/include/mfx/mfxcommon.h:129: warning: declaration does not declare anything In file included from /encoder/include/mfx/mfxvstructures.h:30, from /encoder/include/mfx/mfxvideo.h:33, from libavcodec/qsv.c:21: /encoder/include/mfx/mfxstructures.h:51: warning: declaration does not declare anything /encoder/include/mfx/mfxstructures.h:54: warning: declaration does not declare anything /encoder/include/mfx/mfxstructures.h:55: warning: declaration does not declare anything /encoder/include/mfx/mfxstructures.h:79: warning: declaration does not declare anything /encoder/include/mfx/mfxstructures.h:83: warning: declaration does not declare anything /encoder/include/mfx/mfxstructures.h:84: warning: declaration does not declare anything /encoder/include/mfx/mfxstructures.h:169: warning: declaration does not declare anything /encoder/include/mfx/mfxstructures.h:181: warning: declaration does not declare anything /encoder/include/mfx/mfxstructures.h:188: warning: declaration does not declare anything /encoder/include/mfx/mfxstructures.h:198: warning: declaration does not declare anything /encoder/include/mfx/mfxstructures.h:204: warning: declaration does not declare anything /encoder/include/mfx/mfxstructures.h:252: warning: declaration does not declare anything /encoder/include/mfx/mfxstructures.h:258: warning: declaration does not declare anything /encoder/include/mfx/mfxstructures.h:263: warning: declaration does not declare anything /encoder/include/mfx/mfxstructures.h:268: warning: declaration does not declare anything /encoder/include/mfx/mfxstructures.h:275: warning: declaration does not declare anything /encoder/include/mfx/mfxstructures.h:282: warning: declaration does not declare anything /encoder/include/mfx/mfxstructures.h:288: warning: declaration does not declare anything /encoder/include/mfx/mfxstructures.h:289: warning: declaration does not declare anything /encoder/include/mfx/mfxstructures.h:306: warning: declaration does not declare anything /encoder/include/mfx/mfxstructures.h:714: warning: declaration does not declare anything /encoder/include/mfx/mfxstructures.h:718: warning: declaration does not declare anything /encoder/include/mfx/mfxstructures.h:719: warning: declaration does not declare anything /encoder/include/mfx/mfxstructures.h:1004: warning: declaration does not declare anything /encoder/include/mfx/mfxstructures.h:1008: warning: declaration does not declare anything /encoder/include/mfx/mfxstructures.h:1012: warning: declaration does not declare anything /encoder/include/mfx/mfxstructures.h:1146: warning: declaration does not declare anything /encoder/include/mfx/mfxstructures.h:1165: warning: declaration does not declare anything libavcodec/qsv.c: In function Б-?ff_qsv_init_internal_sessionБ-?: libavcodec/qsv.c:83: warning: braces around scalar initializer libavcodec/qsv.c:83: warning: (near initialization for Б-?ver.VersionБ-?) libavcodec/qsv.c:83: warning: excess elements in scalar initializer libavcodec/qsv.c:83: warning: (near initialization for Б-?ver.VersionБ-?) CC libavcodec/qsv_api.o In file included from /encoder/include/mfx/mfxsession.h:32, from /encoder/include/mfx/mfxvideo.h:32, from libavcodec/qsv.h:24, from libavcodec/qsv_api.c:28: /encoder/include/mfx/mfxcommon.h:81: warning: declaration does not declare anything /encoder/include/mfx/mfxcommon.h:101: warning: declaration does not declare anything /encoder/include/mfx/mfxcommon.h:103: warning: declaration does not declare anything /encoder/include/mfx/mfxcommon.h:127: warning: declaration does not declare anything /encoder/include/mfx/mfxcommon.h:129: warning: declaration does not declare anything In file included from /encoder/include/mfx/mfxvstructures.h:30, from /encoder/include/mfx/mfxvideo.h:33, from libavcodec/qsv.h:24, from libavcodec/qsv_api.c:28: /encoder/include/mfx/mfxstructures.h:51: warning:
[FFmpeg-user] frame extract is not accurate enough
Greetings, FFmpeg users! I'm trying to OCR some presentation videos, using ffmpeg to extract frames. I need to figure out the exact locations of each transitions, and there's no other method to do that than inspecting the number of the output frame. The command is the following: /home/gergo/ffmpeg/ffmpeg-customvsq-git20150116-static/ffmpeg -i /tmp/presentation.mp4 -filter_complex 'scale=w=320:h=180:force_original_aspect_ratio=decrease' -r 1 -q:v 1 -f image2 /tmp/thumbnail/%06d.png -r 1 -q:v 1 -f image2 /tmp/full/%06d.jpg As you can see, there's a 1 second framerate set for each output thread. (I'm splitting the output to get a full- and a thumbnail sized version.) The strange thing that the total number of frames (300) produced is bigger than what the video duration (496 s) and the 1 sec framerate would indicate. For example, there's a transition at 97 sec which occurs only at the 102nd frame. That's 4-5s latency in the first two minutes! So, is there a method to increase the accuracy? What causes this varying framerate? Thanks in advance: Gergely Lukácsy Here's the complete, uncut console output: ffmpeg version N-69054-gc4f1abe-static Copyright (c) 2000-2015 the FFmpeg developers built on Jan 16 2015 14:03:28 with gcc 4.7 (Debian 4.7.2-5) configuration: --prefix=/home/gergo/buildscript/ffmpeg-static-master-customVSQ/target --extra-cflags='-I/home/gergo/buildscript/ffmpeg-static-master-customVSQ/target/include -static' --extra-cflags=--static --extra-ldflags='-L/home/gergo/buildscript/ffmpeg-static-master-customVSQ/target/lib -lm -static' --extra-libs=-ldl --extra-version=static --disable-debug --disable-shared --enable-static --extra-cflags=--static --disable-ffplay --disable-ffserver --disable-doc --enable-gpl --enable-pthreads --enable-postproc --enable-gray --enable-runtime-cpudetect --enable-libfaac --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-bzlib --enable-zlib --enable-nonfree --enable-version3 --enable-libvpx --enable-libvo-aacenc --enable-librtmp libavutil 54. 16.100 / 54. 16.100 libavcodec 56. 20.100 / 56. 20.100 libavformat56. 18.101 / 56. 18.101 libavdevice56. 4.100 / 56. 4.100 libavfilter 5. 7.101 / 5. 7.101 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 1.100 / 1. 1.100 libpostproc53. 3.100 / 53. 3.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/tmp/presentation.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf55.0.100 Duration: 00:04:56.92, start: 0.00, bitrate: 1480 kb/s Stream #0:0(und): Video: h264 (High 4:2:2) (avc1 / 0x31637661), yuv422p, 1366x768, 1479 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default) Metadata: handler_name: VideoHandler [swscaler @ 0x38885e0] deprecated pixel format used, make sure you did set range correctly Output #0, image2, to '/tmp/thumbnail/%06d.png': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf56.18.101 Stream #0:0: Video: png, rgb24, 320x180, q=2-31, 200 kb/s, 1 fps, 1 tbn, 1 tbc (default) Metadata: encoder : Lavc56.20.100 png Output #1, image2, to '/tmp/full/%06d.jpg': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf56.18.101 Stream #1:0(und): Video: mjpeg, yuvj422p(pc), 1366x768, q=2-31, 200 kb/s, 1 fps, 1 tbn, 1 tbc (default) Metadata: handler_name: VideoHandler encoder : Lavc56.20.100 mjpeg Stream mapping: Stream #0:0 (h264) - scale (graph 0) scale (graph 0) - Stream #0:0 (png) Stream #0:0 - #1:0 (h264 (native) - mjpeg (native)) Press [q] to stop, [?] for help frame= 300 fps=3.0 q=0.0 Lq=0.0 size=N/A time=00:05:00.00 bitrate=N/A dup=0 drop=14246 video:72350kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
[FFmpeg-user] Is it possible to have ffmpeg pause and resume based on icecast metadata values changing?
I've had some luck doing the pause/resume thing with CONT and STOP signals. And I think I could also script this with expect/tcl such that I could send those signals based on output from ffmpeg. However, I only ever see the icecast metadata when starting ffmpeg (both listed in Input #0 and Output #0). Specifically, I'm looking for the StreamTitle tag. I've tried tinkering with the -loglevel, nothing there seems to help. I also found the -icy* parameters, but using those doesn't seem to change much. Is there a way to have it output the value of StreamTitle every time it changes to either stdout or stderr? Is there another strategy that will accomplish what I'm attempting? Thanks in advance, John O. ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] frame extract is not accurate enough
On Fri, Jul 24, 2015 at 09:15:16 +, Gergely Lukácsy wrote: Apart from everything else: The strange thing that the total number of frames (300) produced is bigger than what the video duration (496 s) and the 1 sec framerate would indicate. Smaller, you meant to say? Actually, you mistyped 496? [...] Duration: 00:04:56.92, start: 0.00, bitrate: 1480 kb/s The file you're showing us is 296.92 seconds long, not 496. Perhaps that's according to the header, and the actual video stream is longer, resulting in about 300 seconds. You would know better by letting ffmpeg parse the complete stream: $ ffmpeg -i /tmp/presentation.mp4 -f null - or using ffprobe to count the frames. Are you sure the video is truly CFR? Is it captured from some device which delivers slightly varying frame rate? Moritz ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
Re: [FFmpeg-user] ffserver rtsp stream transmits only audio
On Tue, Jul 21, 2015 at 6:44 PM, En Figureo Canal figureo56@gmail.com wrote: On Tue, Jul 21, 2015 at 6:23 PM, Moritz Barsnick barsn...@gmx.net wrote: On Tue, Jul 21, 2015 at 18:18:17 -0400, En Figureo Canal wrote: problems with rtsp streaming with ffserver. [...] Format rtp Is RTP identical to RTSP? (I don't know - I'm asking.) When I use ffprobe I get the following, not showing any video info other than the codec: Stream #0:0: Audio: mp3, 441000 Hz, stereo, s16p, bitrate: 96 kb/s Stream#0:1: Video: h264, none, 90k tbr, 180ktbc Impossible, ffprobe should also show at least a banner. Can you please guide to what I'm doing wrong? Please show us the command line and complete, uncut console output of - your ffmpeg command, - your ffprobe command. Moritz ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user This is ffprobe output: ./bin/ffprobe rtsp://ip:/7654/live.h264 ffprobe version 2.5.4 Copyright (c) 2007-2015 the FFmpeg developers built on Jun 13 2015 22:34:19 with gcc 4.7 (Debian 4.7.2-5) configuration: --prefix=/root/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/root/ffmpeg_build/include --extra-ldflags=-L/root/ffmpeg_build/lib --bindir=/root/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --prefix=/root/ffmpeg/build --enable-libx265 --enable-nonfree libavutil 54. 15.100 / 54. 15.100 libavcodec 56. 13.100 / 56. 13.100 libavformat56. 15.102 / 56. 15.102 libavdevice56. 3.100 / 56. 3.100 libavfilter 5. 2.103 / 5. 2.103 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 1.100 / 1. 1.100 libpostproc53. 3.100 / 53. 3.100 [rtsp @ 0x397ec60] Could not find codec parameters for stream 1 (Video: h264, none): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options Input #0, rtsp, from 'rtsp://ip:7654/live_500k.h264': Metadata: title : live Duration: N/A, start: 87715.219244, bitrate: 96 kb/s Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16p, 96 kb/s Stream #0:1: Video: h264, none, 90k tbr, 90k tbn, 180k tbc Now this is ffserver output: ./bin/ffserver -d ffserver version 2.5.4 Copyright (c) 2000-2015 the FFmpeg developers built on Jun 13 2015 22:34:19 with gcc 4.7 (Debian 4.7.2-5) configuration: --prefix=/root/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/root/ffmpeg_build/include --extra-ldflags=-L/root/ffmpeg_build/lib --bindir=/root/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --prefix=/root/ffmpeg/build --enable-libx265 --enable-nonfree libavutil 54. 15.100 / 54. 15.100 libavcodec 56. 13.100 / 56. 13.100 libavformat56. 15.102 / 56. 15.102 libavdevice56. 3.100 / 56. 3.100 libavfilter 5. 2.103 / 5. 2.103 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 1.100 / 1. 1.100 libpostproc53. 3.100 / 53. 3.100 Tue Jul 21 22:25:11 2015 FFserver started. Tue Jul 21 22:25:11 2015 Launch command line: ./bin/ffmpeg -f concat -rtbufsize 8k -re -i /root/videos/list.txt http://127.0.0.1:8090/livechannel.ffm ffmpeg version 2.5.4 Copyright (c) 2000-2015 the FFmpeg developers built on Jun 13 2015 22:34:19 with gcc 4.7 (Debian 4.7.2-5) configuration: --prefix=/root/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/root/ffmpeg_build/include --extra-ldflags=-L/root/ffmpeg_build/lib --bindir=/root/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --prefix=/root/ffmpeg/build --enable-libx265 --enable-nonfree libavutil 54. 15.100 / 54. 15.100 libavcodec 56. 13.100 / 56. 13.100 libavformat56. 15.102 / 56. 15.102 libavdevice56. 3.100 / 56. 3.100 libavfilter 5. 2.103 / 5. 2.103 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 1.100 / 1. 1.100 libpostproc53. 3.100 / 53. 3.100 Input #0, concat, from '/root/videos/list.txt': Duration: N/A, start: 0.00, bitrate: 1474 kb/s Stream #0:0: Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 720x420 [SAR 28:27 DAR 16:9], 1346 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s Tue Jul 21 22:25:11 2015 127.0.0.1 - - New connection: GET /livechannel.ffm Tue Jul 21 22:25:11 2015 127.0.0.1 - - [GET] /livechannel.ffm HTTP/1.1 200 4175 Tue Jul 21 22:25:11 2015 127.0.0.1 - -
[FFmpeg-user] Copy-capturing h264 input while force-rewriting the PTS
Hello! I have a Logitech C920 affected by a know-yet-wontfix kernel uvc-video bug[1]. Given That I need a relatively recent kernel and it looks like the problematic patch in 3.17+ will not be reverted, I am hoping that ffmpeg can somehow help me with a workaround. The problem in short is that while the hardware h264 encoder in the camera provides correct PTS values, the kernel driver then throws them away and recalculates them incorrectly based on the usb clock or something [2]. I am wondering if there is a way to force ffmpeg to discard the (now incorrect) PTS again, and assign its own base on the machine clock. I (blindly at this point) tried various permutations of formats (muxed or raw) and the various ffmpeg options of: -fflags genpts -copyts -copytb [0/1] -map source,timing source All to no avail. Either the stream stutters[3] (when muxing into matroska or mp4) or the stream runs smoothly but about 2x times faster than realtime (when using -f h264 ) Is there *anything* ffmpeg can do to help me here, or do I need to compile a custom kernel ripping out the problematic commit[4]? Thanks! [1] http://sourceforge.net/p/linux-uvc/mailman/message/33564420/ [2] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/drivers/media/video/uvc/uvc_video.c?id=66847ef0#n524 [3] https://vimeo.com/114550042 [4] https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=66847ef ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
[FFmpeg-user] Running multiple ffmpeg commands with minimal loss in quality
Hi everyone, I'm writing a video editor which will push out a large json file that includes the videos and a series of edits that were performed upon them. I have a python application which parses the json and runs ffmpeg commands to do things like overlay, scale and trim videos, render text, render images, etc. The biggest issue that I have is that the application that I run has to run ffmpeg multiple times, thus re-encoding the video(s) and making the end video look much lower quality than the original content. The original videos are .webm and encoded using QTmuxingAppLibWebM-0.0.1. Is there any way that I can help prevent this sort of thing or is there any existing tooling for taking a series of edits and running them in one command (meaning I don't have to re-encode multiple times)? Any help would be appreciated. - Mike IRC: nolski ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user
[FFmpeg-user] How to capture an RTMP stream
I'm trying to record some of this stream: rtmp://cp258849.live.edgefcs.net/live/SonLife0616@327662 VLC will play this, so I thought it would be easy :-) ffmpeg -i rtmp://cp258849.live.edgefcs.net/live/SonLife0616@327662 -rtmp_live live test.mp4 ffmpeg version N-73907-gc169243 Copyright (c) 2000-2015 the FFmpeg developers built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04) configuration: --enable-shared --enable-gpl --enable-nonfree --enable-libxvid --enable-libx264 --enable-libmp3lame --enable-libvorbis --enable-libfaac --enable-libopenjpeg --enable-librtmp libavutil 54. 28.100 / 54. 28.100 libavcodec 56. 50.101 / 56. 50.101 libavformat56. 40.101 / 56. 40.101 libavdevice56. 4.100 / 56. 4.100 libavfilter 5. 25.100 / 5. 25.100 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.101 / 1. 2.101 libpostproc53. 3.100 / 53. 3.100 Closing connection: NetStream.Play.StreamNotFound rtmp://cp258849.live.edgefcs.net/live/SonLife0616@327662: Unknown error occurred Where can I learn more about how to decipher the RTMP url into parts that ffmpeg needs? Thanks, Deron ___ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user