Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Video 从Youtube输出流保存.mp4_Video_Ffmpeg_Youtube_Raspbian_Raspberry Pi3 - Fatal编程技术网

Video 从Youtube输出流保存.mp4

Video 从Youtube输出流保存.mp4,video,ffmpeg,youtube,raspbian,raspberry-pi3,Video,Ffmpeg,Youtube,Raspbian,Raspberry Pi3,我目前正在运行Raspbian中的Ffmpeg脚本,该脚本运行良好。它从USB网络摄像头捕获视频并将其传输到Youtube ffmpeg -thread_queue_size 512 -f v4l2 -video_size 1920x1080 -i /dev/video0 -ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zero -acodec aac -ab 128k -strict experimental -aspect 1

我目前正在运行Raspbian中的Ffmpeg脚本,该脚本运行良好。它从USB网络摄像头捕获视频并将其传输到Youtube

ffmpeg -thread_queue_size 512 -f v4l2 -video_size 1920x1080 -i /dev/video0 -ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zero -acodec aac -ab 128k -strict experimental -aspect 16:9 -vcodec h264 -preset veryfast -crf 25 -pix_fmt yuv420p -g 60 -vb 820k -maxrate 820k -bufsize 820k -profile:v baseline -r 30 -f flv rtmp://a.rtmp.youtube.com/live2/XXX-XXX-XXX
但是我还想把这个文件保存到一个mp4文件中

我尝试在末尾添加一个.mp4文件,但它会生成一个损坏的文件,并且流不会以1倍的速度发出,它会变慢到0.4倍

ffmpeg -thread_queue_size 512 -f v4l2 -video_size 1920x1080 -i /dev/video0 -ar 44100 -ac 2 -acodec pcm_s16le -f s16le -ac 2 -i /dev/zero -acodec aac -ab 128k -strict experimental -aspect 16:9 -vcodec h264 -preset veryfast -crf 25 -pix_fmt yuv420p -g 60 -vb 820k -maxrate 820k -bufsize 820k -profile:v baseline -r 30 -f flv rtmp://a.rtmp.youtube.com/live2/XXX-XXX-XXX output.mp4
我也尝试过,但没有结果:

-vcodec copy -acodev copy output.mp4
有什么想法吗?。谢谢。

使用

ffmpeg -thread_queue_size 512 -f v4l2 -video_size 1920x1080 -i /dev/video0 -f lavfi -i anullsrc=cl=stereo:r=44100 -map 0:v -map 1:a -r 30 -aspect 16:9 -c:v h264 -preset veryfast -crf 25 -pix_fmt yuv420p -g 60 -maxrate:v 820k -bufsize:v 820k -profile:v baseline -c:a aac -b:a 128k -strict experimental -flags +global_header -f tee "[f=flv]rtmp://a.rtmp.youtube.com/live2/XXX-XXX-XXX|video.flv"

使用muxer。有我的源代码的例子吗?谢谢,这似乎很有效,但是。。。我的RPI3 CPU和RAM为100%。我们能在不进行转码或优化的情况下解决这个问题吗?流只被编码一次。FLV文件未触发第二次编码。您可以将预设更改为超快。这是一种改进。无法找到Bug muy保存的FLV。是否缺少元数据?FLV是一种流格式。您可以快速将其重新复制到MP4:
ffmpeg-i in.flv-c copy out.MP4
Aham,它似乎可以工作,但不幸的是,我又遇到了CPU和RAM问题,所以我的视频不流畅。现在,我正在尝试使用raspivid和avconv使用Raspicam复制此命令,并添加一个徽标。这是我当前使用的raspivid命令:
raspivid-o--t0-vf-hf-fps30-b6000000 | avconv-re-ar44100-ac2-acodec pcm_s16le-fs16le-ac2-i/dev/zero-fh264-i--vcodec copy-acodec aac-ab128k-g50-严格的实验-f flvrtmp://a.rtmp.youtube.com/live2/XXX